aboutsummaryrefslogtreecommitdiffstats
path: root/epubs/zig-0.9.0.epub
blob: f2203e71fe007f43f5cc9572fe4e45d007cd9239 (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 26 71 10 7c c2 02 00 00 ontainer>.PK..........!R&q.|....
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 30 3c 2f 64 63 3a 69 64 65 6e 74 69 66 69 65 72 3e 0a 20 20 20 20 3c 64 63 3a 74 :0.9.0</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 30 29 3c 2f 64 63 3a 74 69 74 6c 65 3e 0a 20 20 20 20 3c 64 63 3a 6c 61 6e 67 75 61 67 65 3e .0)</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 e1 ac e8 aa 76 6f 00 00 76 6f 00 00 0f 00 00 00 4f 45 42 50 53 2f 6e .......!R....vo..vo......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 30 29 3c 2f 74 69 g.Language.Reference.(0.9.0)</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 30 29 1>Zig.Language.Reference.(0.9.0)
05a0 3c 2f 68 31 3e 0a 20 20 20 20 20 20 3c 6f 6c 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d </h1>.......<ol>.<li><a.id="toc-
05c0 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 Introduction".href="index.xhtml#
05e0 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c 2f 61 3e 3c 2f Introduction">Introduction</a></
0600 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d li>.<li><a.id="toc-Zig-Standard-
0620 4c 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 53 Library".href="index.xhtml#Zig-S
0640 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
0660 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 48 65 brary</a></li>.<li><a.id="toc-He
0680 6c 6c 6f 2d 57 6f 72 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 48 65 6c llo-World".href="index.xhtml#Hel
06a0 6c 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c lo-World">Hello.World</a></li>.<
06c0 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
06e0 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>
0700 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 6f 63 2d 63 6f 6d 6d 65 6e 74 </li>.<li><a.id="toc-Doc-comment
0720 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f 63 2d 63 6f 6d 6d 65 6e 74 s".href="index.xhtml#Doc-comment
0740 73 22 3e 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 s">Doc.comments</a></li>.<li><a.
0760 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".
0780 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-
07a0 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
07c0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 61 6c 75 65 73 22 </a></li>.<li><a.id="toc-Values"
07e0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 .href="index.xhtml#Values">Value
0800 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 6d 69 74 s</a></li>.<li><a.id="toc-Primit
0820 69 76 65 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 23 50 72 69 ive-Types".href="index.xhtml#Pri
0840 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 65 73 3c 2f 61 mitive-Types">Primitive.Types</a
0860 3e 3c 2f 6c 69 3e 0a 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 ></li>.<li><a.id="toc-Primitive-
0880 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 50 72 69 6d 69 74 Values".href="index.xhtml#Primit
08a0 69 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 ive-Values">Primitive.Values</a>
08c0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 69 6e 67 2d 4c 69 74 65 </li>.<li><a.id="toc-String-Lite
08e0 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 rals-and-Unicode-Code-Point-Lite
0900 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 74 72 69 6e 67 2d 4c rals".href="index.xhtml#String-L
0920 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c iterals-and-Unicode-Code-Point-L
0940 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 61 6e 64 20 55 6e 69 iterals">String.Literals.and.Uni
0960 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 2f 61 3e 3c 2f 6c 69 code.Code.Point.Literals</a></li
0980 3e 0a 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 6e 63 65 >.<li><a.id="toc-Escape-Sequence
09a0 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 65 71 75 s".href="index.xhtml#Escape-Sequ
09c0 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 6c 69 3e ences">Escape.Sequences</a></li>
09e0 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 .<li><a.id="toc-Multiline-String
0a00 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 4d 75 6c -Literals".href="index.xhtml#Mul
0a20 74 69 6c 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 tiline-String-Literals">Multilin
0a40 65 20 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c e.String.Literals</a></li>.<li><
0a60 61 20 69 64 3d 22 74 6f 63 2d 41 73 73 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 a.id="toc-Assignment".href="inde
0a80 78 2e 78 68 74 6d 6c 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 73 69 67 6e 6d 65 6e 74 3c 2f x.xhtml#Assignment">Assignment</
0aa0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 a></li>.<li><a.id="toc-undefined
0ac0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 ".href="index.xhtml#undefined">u
0ae0 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 ndefined</a></li>.<li><a.id="toc
0b00 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 23 5a 69 67 -Zig-Test".href="index.xhtml#Zig
0b20 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 -Test">Zig.Test</a></li>.<li><a.
0b40 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d id="toc-Test-Declarations".href=
0b60 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e "index.xhtml#Test-Declarations">
0b80 54 65 73 74 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c Test.Declarations</a></li>.<li><
0ba0 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 65 73 74 73 a.id="toc-Nested-Container-Tests
0bc0 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 6f 6e 74 61 ".href="index.xhtml#Nested-Conta
0be0 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 20 54 65 73 iner-Tests">Nested.Container.Tes
0c00 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d ts</a></li>.<li><a.id="toc-Test-
0c20 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d Failure".href="index.xhtml#Test-
0c40 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 3c 2f 6c 69 3e 0a 3c Failure">Test.Failure</a></li>.<
0c60 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6b 69 70 2d 54 65 73 74 73 22 20 68 72 65 66 3d 22 li><a.id="toc-Skip-Tests".href="
0c80 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 70 20 54 65 73 index.xhtml#Skip-Tests">Skip.Tes
0ca0 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 70 6f 72 ts</a></li>.<li><a.id="toc-Repor
0cc0 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d t-Memory-Leaks".href="index.xhtm
0ce0 6c 23 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 74 20 4d 65 l#Report-Memory-Leaks">Report.Me
0d00 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 mory.Leaks</a></li>.<li><a.id="t
0d20 6f 63 2d 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 20 68 72 65 66 3d 22 69 oc-Detecting-Test-Build".href="i
0d40 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 ndex.xhtml#Detecting-Test-Build"
0d60 3e 44 65 74 65 63 74 69 6e 67 20 54 65 73 74 20 42 75 69 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c >Detecting.Test.Build</a></li>.<
0d80 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
0da0 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
0dc0 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
0de0 64 20 4c 6f 67 67 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f d.Logging</a></li>.<li><a.id="to
0e00 63 2d 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 69 c-The-Testing-Namespace".href="i
0e20 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 ndex.xhtml#The-Testing-Namespace
0e40 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 3c 2f 6c 69 3e ">The.Testing.Namespace</a></li>
0e60 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 .<li><a.id="toc-Test-Tool-Docume
0e80 6e 74 61 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d ntation".href="index.xhtml#Test-
0ea0 54 6f 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 Tool-Documentation">Test.Tool.Do
0ec0 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 cumentation</a></li>.<li><a.id="
0ee0 74 6f 63 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 toc-Variables".href="index.xhtml
0f00 23 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c #Variables">Variables</a></li>.<
0f20 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 2d 56 61 li><a.id="toc-Container-Level-Va
0f40 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 6e 74 61 riables".href="index.xhtml#Conta
0f60 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 iner-Level-Variables">Container.
0f80 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 3c 6c 69 3e 3c 61 20 Level.Variables</a></li>.<li><a.
0fa0 69 64 3d 22 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 id="toc-Static-Local-Variables".
0fc0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 href="index.xhtml#Static-Local-V
0fe0 61 72 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 ariables">Static.Local.Variables
1000 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 72 65 61 64 2d </a></li>.<li><a.id="toc-Thread-
1020 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 Local-Variables".href="index.xht
1040 6d 6c 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 ml#Thread-Local-Variables">Threa
1060 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c d.Local.Variables</a></li>.<li><
1080 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 22 20 68 72 65 66 3d a.id="toc-Local-Variables".href=
10a0 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 6c 65 73 22 3e 4c 6f "index.xhtml#Local-Variables">Lo
10c0 63 61 6c 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 69 64 cal.Variables</a></li>.<li><a.id
10e0 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 74 6d ="toc-Integers".href="index.xhtm
1100 6c 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 3c 6c l#Integers">Integers</a></li>.<l
1120 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 20 68 i><a.id="toc-Integer-Literals".h
1140 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c ref="index.xhtml#Integer-Literal
1160 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 s">Integer.Literals</a></li>.<li
1180 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 6c 75 ><a.id="toc-Runtime-Integer-Valu
11a0 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 49 6e es".href="index.xhtml#Runtime-In
11c0 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 56 61 teger-Values">Runtime.Integer.Va
11e0 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f lues</a></li>.<li><a.id="toc-Flo
1200 61 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 6c 6f 61 74 73 22 3e 46 ats".href="index.xhtml#Floats">F
1220 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c loats</a></li>.<li><a.id="toc-Fl
1240 6f 61 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 oat-Literals".href="index.xhtml#
1260 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 46 6c 6f 61 74 20 4c 69 74 65 72 61 6c 73 3c 2f Float-Literals">Float.Literals</
1280 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d a></li>.<li><a.id="toc-Floating-
12a0 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 Point-Operations".href="index.xh
12c0 74 6d 6c 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 tml#Floating-Point-Operations">F
12e0 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 loating.Point.Operations</a></li
1300 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 20 68 72 65 66 >.<li><a.id="toc-Operators".href
1320 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f ="index.xhtml#Operators">Operato
1340 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 62 6c 65 rs</a></li>.<li><a.id="toc-Table
1360 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c -of-Operators".href="index.xhtml
1380 23 54 61 62 6c 65 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 #Table-of-Operators">Table.of.Op
13a0 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d erators</a></li>.<li><a.id="toc-
13c0 50 72 65 63 65 64 65 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 72 Precedence".href="index.xhtml#Pr
13e0 65 63 65 64 65 6e 63 65 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ecedence">Precedence</a></li>.<l
1400 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 i><a.id="toc-Arrays".href="index
1420 2e 78 68 74 6d 6c 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 3c .xhtml#Arrays">Arrays</a></li>.<
1440 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 69 73 74 2d 4c 69 74 li><a.id="toc-Anonymous-List-Lit
1460 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 6e 79 6d 6f erals".href="index.xhtml#Anonymo
1480 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 75 73 20 4c 69 73 74 us-List-Literals">Anonymous.List
14a0 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f .Literals</a></li>.<li><a.id="to
14c0 63 2d 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d c-Multidimensional-Arrays".href=
14e0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 "index.xhtml#Multidimensional-Ar
1500 72 61 79 73 22 3e 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 41 72 72 61 79 73 3c 2f 61 rays">Multidimensional.Arrays</a
1520 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 ></li>.<li><a.id="toc-Sentinel-T
1540 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 erminated-Arrays".href="index.xh
1560 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e tml#Sentinel-Terminated-Arrays">
1580 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f Sentinel-Terminated.Arrays</a></
15a0 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 73 22 20 68 72 65 66 li>.<li><a.id="toc-Vectors".href
15c0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f ="index.xhtml#Vectors">Vectors</
15e0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 a></li>.<li><a.id="toc-Pointers"
1600 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 6f 69 .href="index.xhtml#Pointers">Poi
1620 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f nters</a></li>.<li><a.id="toc-vo
1640 6c 61 74 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 76 6f 6c 61 74 69 latile".href="index.xhtml#volati
1660 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d le">volatile</a></li>.<li><a.id=
1680 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 74 6d "toc-Alignment".href="index.xhtm
16a0 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 3e 0a l#Alignment">Alignment</a></li>.
16c0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 6c 6f 77 7a 65 72 6f 22 20 68 72 65 66 3d 22 <li><a.id="toc-allowzero".href="
16e0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f index.xhtml#allowzero">allowzero
1700 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 </a></li>.<li><a.id="toc-Sentine
1720 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 l-Terminated-Pointers".href="ind
1740 65 78 2e 78 68 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 ex.xhtml#Sentinel-Terminated-Poi
1760 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 nters">Sentinel-Terminated.Point
1780 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6c 69 63 ers</a></li>.<li><a.id="toc-Slic
17a0 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6c 69 63 65 73 22 3e 53 6c es".href="index.xhtml#Slices">Sl
17c0 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e ices</a></li>.<li><a.id="toc-Sen
17e0 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 69 tinel-Terminated-Slices".href="i
1800 6e 64 65 78 2e 78 68 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 ndex.xhtml#Sentinel-Terminated-S
1820 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 65 lices">Sentinel-Terminated.Slice
1840 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 74 72 75 63 74 s</a></li>.<li><a.id="toc-struct
1860 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 73 74 72 75 ".href="index.xhtml#struct">stru
1880 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 ct</a></li>.<li><a.id="toc-Defau
18a0 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 lt-Field-Values".href="index.xht
18c0 6d 6c 23 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 ml#Default-Field-Values">Default
18e0 20 46 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 .Field.Values</a></li>.<li><a.id
1900 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 6e 64 65 78 ="toc-extern-struct".href="index
1920 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 20 73 74 72 .xhtml#extern-struct">extern.str
1940 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b uct</a></li>.<li><a.id="toc-pack
1960 65 64 2d 73 74 72 75 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 61 63 ed-struct".href="index.xhtml#pac
1980 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 3c 2f 6c ked-struct">packed.struct</a></l
19a0 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 i>.<li><a.id="toc-Struct-Naming"
19c0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 .href="index.xhtml#Struct-Naming
19e0 22 3e 53 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 ">Struct.Naming</a></li>.<li><a.
1a00 69 64 3d 22 74 6f 63 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 id="toc-Anonymous-Struct-Literal
1a20 73 22 20 68 72 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 53 s".href="index.xhtml#Anonymous-S
1a40 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 truct-Literals">Anonymous.Struct
1a60 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f .Literals</a></li>.<li><a.id="to
1a80 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 6d 22 3e c-enum".href="index.xhtml#enum">
1aa0 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 enum</a></li>.<li><a.id="toc-ext
1ac0 65 72 6e 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 ern-enum".href="index.xhtml#exte
1ae0 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c rn-enum">extern.enum</a></li>.<l
1b00 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 72 65 66 i><a.id="toc-Enum-Literals".href
1b20 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 45 6e 75 ="index.xhtml#Enum-Literals">Enu
1b40 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 m.Literals</a></li>.<li><a.id="t
1b60 6f 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e oc-Non-exhaustive-enum".href="in
1b80 64 65 78 2e 78 68 74 6d 6c 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e dex.xhtml#Non-exhaustive-enum">N
1ba0 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e on-exhaustive.enum</a></li>.<li>
1bc0 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 <a.id="toc-union".href="index.xh
1be0 74 6d 6c 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 61 tml#union">union</a></li>.<li><a
1c00 20 69 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 .id="toc-Tagged-union".href="ind
1c20 65 78 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 ex.xhtml#Tagged-union">Tagged.un
1c40 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 ion</a></li>.<li><a.id="toc-exte
1c60 72 6e 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 rn-union".href="index.xhtml#exte
1c80 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a rn-union">extern.union</a></li>.
1ca0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 <li><a.id="toc-packed-union".hre
1cc0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 f="index.xhtml#packed-union">pac
1ce0 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ked.union</a></li>.<li><a.id="to
1d00 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 65 66 c-Anonymous-Union-Literals".href
1d20 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 4c 69 ="index.xhtml#Anonymous-Union-Li
1d40 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 6c 73 terals">Anonymous.Union.Literals
1d60 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6f 70 61 71 75 65 22 </a></li>.<li><a.id="toc-opaque"
1d80 20 68 72 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 .href="index.xhtml#opaque">opaqu
1da0 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 6c 6f 63 6b 73 e</a></li>.<li><a.id="toc-blocks
1dc0 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 3e 62 6c 6f 63 ".href="index.xhtml#blocks">bloc
1de0 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 68 61 64 6f ks</a></li>.<li><a.id="toc-Shado
1e00 77 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 68 61 64 6f 77 69 6e wing".href="index.xhtml#Shadowin
1e20 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d g">Shadowing</a></li>.<li><a.id=
1e40 22 74 6f 63 2d 73 77 69 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 "toc-switch".href="index.xhtml#s
1e60 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 witch">switch</a></li>.<li><a.id
1e80 3d 22 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 20 68 72 65 66 ="toc-Exhaustive-Switching".href
1ea0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 ="index.xhtml#Exhaustive-Switchi
1ec0 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 3c 2f 6c 69 ng">Exhaustive.Switching</a></li
1ee0 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d >.<li><a.id="toc-Switching-with-
1f00 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c Enum-Literals".href="index.xhtml
1f20 23 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 #Switching-with-Enum-Literals">S
1f40 77 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c witching.with.Enum.Literals</a><
1f60 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 22 20 68 72 65 66 3d /li>.<li><a.id="toc-while".href=
1f80 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c "index.xhtml#while">while</a></l
1fa0 69 3e 0a 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 6c 65 22 i>.<li><a.id="toc-Labeled-while"
1fc0 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 69 6c 65 .href="index.xhtml#Labeled-while
1fe0 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 61 20 ">Labeled.while</a></li>.<li><a.
2000 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 id="toc-while-with-Optionals".hr
2020 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f ef="index.xhtml#while-with-Optio
2040 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f nals">while.with.Optionals</a></
2060 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 li>.<li><a.id="toc-while-with-Er
2080 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 ror-Unions".href="index.xhtml#wh
20a0 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
20c0 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 h.Error.Unions</a></li>.<li><a.i
20e0 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 3d 22 69 6e 64 65 78 d="toc-inline-while".href="index
2100 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 6e 65 20 77 68 69 6c .xhtml#inline-while">inline.whil
2120 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6f 72 22 20 68 e</a></li>.<li><a.id="toc-for".h
2140 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 3c 2f 6c ref="index.xhtml#for">for</a></l
2160 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 20 68 i>.<li><a.id="toc-Labeled-for".h
2180 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 66 6f 72 22 3e 4c 61 ref="index.xhtml#Labeled-for">La
21a0 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f beled.for</a></li>.<li><a.id="to
21c0 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 6c 23 c-inline-for".href="index.xhtml#
21e0 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 3e 0a inline-for">inline.for</a></li>.
2200 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 <li><a.id="toc-if".href="index.x
2220 68 74 6d 6c 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 html#if">if</a></li>.<li><a.id="
2240 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 6c 23 64 65 66 toc-defer".href="index.xhtml#def
2260 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f er">defer</a></li>.<li><a.id="to
2280 63 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c c-unreachable".href="index.xhtml
22a0 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 3c 2f 6c #unreachable">unreachable</a></l
22c0 69 3e 0a 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 22 i>.<li><a.id="toc-Basics".href="
22e0 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 2f index.xhtml#Basics">Basics</a></
2300 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 li>.<li><a.id="toc-At-Compile-Ti
2320 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 74 2d 43 6f 6d 70 69 6c 65 me".href="index.xhtml#At-Compile
2340 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 3c 2f 6c 69 3e 0a -Time">At.Compile-Time</a></li>.
2360 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 20 68 72 65 66 3d 22 69 <li><a.id="toc-noreturn".href="i
2380 6e 64 65 78 2e 78 68 74 6d 6c 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 ndex.xhtml#noreturn">noreturn</a
23a0 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 73 22 ></li>.<li><a.id="toc-Functions"
23c0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 .href="index.xhtml#Functions">Fu
23e0 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d nctions</a></li>.<li><a.id="toc-
2400 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 65 66 3d 22 Pass-by-value-Parameters".href="
2420 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 72 61 6d 65 index.xhtml#Pass-by-value-Parame
2440 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 72 73 3c 2f ters">Pass-by-value.Parameters</
2460 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d a></li>.<li><a.id="toc-Function-
2480 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 20 68 72 65 66 3d 22 Parameter-Type-Inference".href="
24a0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 index.xhtml#Function-Parameter-T
24c0 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 ype-Inference">Function.Paramete
24e0 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 r.Type.Inference</a></li>.<li><a
2500 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 20 68 72 .id="toc-Function-Reflection".hr
2520 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 ef="index.xhtml#Function-Reflect
2540 69 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 ion">Function.Reflection</a></li
2560 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 73 22 20 68 72 65 66 3d 22 69 >.<li><a.id="toc-Errors".href="i
2580 6e 64 65 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c ndex.xhtml#Errors">Errors</a></l
25a0 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 i>.<li><a.id="toc-Error-Set-Type
25c0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 ".href="index.xhtml#Error-Set-Ty
25e0 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e pe">Error.Set.Type</a></li>.<li>
2600 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 6f 72 2d 53 65 74 22 <a.id="toc-The-Global-Error-Set"
2620 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 6f 62 61 6c 2d 45 72 .href="index.xhtml#The-Global-Er
2640 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 ror-Set">The.Global.Error.Set</a
2660 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f ></li>.<li><a.id="toc-Error-Unio
2680 6e 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 72 72 6f 72 2d n-Type".href="index.xhtml#Error-
26a0 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e Union-Type">Error.Union.Type</a>
26c0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 74 63 68 22 20 68 72 65 66 </li>.<li><a.id="toc-catch".href
26e0 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 3c 2f 61 3e 3c 2f ="index.xhtml#catch">catch</a></
2700 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 79 22 20 68 72 65 66 3d 22 69 6e li>.<li><a.id="toc-try".href="in
2720 64 65 78 2e 78 68 74 6d 6c 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e dex.xhtml#try">try</a></li>.<li>
2740 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 22 69 6e 64 65 78 <a.id="toc-errdefer".href="index
2760 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 2f 61 3e 3c 2f 6c .xhtml#errdefer">errdefer</a></l
2780 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d i>.<li><a.id="toc-Merging-Error-
27a0 53 65 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d 65 72 67 69 6e 67 2d Sets".href="index.xhtml#Merging-
27c0 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f Error-Sets">Merging.Error.Sets</
27e0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d a></li>.<li><a.id="toc-Inferred-
2800 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 74 6d 6c 23 49 6e Error-Sets".href="index.xhtml#In
2820 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 6f ferred-Error-Sets">Inferred.Erro
2840 72 20 53 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 r.Sets</a></li>.<li><a.id="toc-E
2860 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e rror-Return-Traces".href="index.
2880 78 68 74 6d 6c 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 xhtml#Error-Return-Traces">Error
28a0 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 .Return.Traces</a></li>.<li><a.i
28c0 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 6c 73 22 20 68 d="toc-Implementation-Details".h
28e0 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 74 69 6f 6e 2d ref="index.xhtml#Implementation-
2900 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c Details">Implementation.Details<
2920 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c /a></li>.<li><a.id="toc-Optional
2940 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 70 74 69 6f 6e 61 6c 73 22 3e s".href="index.xhtml#Optionals">
2960 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f Optionals</a></li>.<li><a.id="to
2980 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 c-Optional-Type".href="index.xht
29a0 6d 6c 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 3c ml#Optional-Type">Optional.Type<
29c0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 75 6c 6c 22 20 68 72 /a></li>.<li><a.id="toc-null".hr
29e0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 3c 2f ef="index.xhtml#null">null</a></
2a00 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e li>.<li><a.id="toc-Optional-Poin
2a20 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 6e 61 6c ters".href="index.xhtml#Optional
2a40 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e -Pointers">Optional.Pointers</a>
2a60 3c 2f 6c 69 3e 0a 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 </li>.<li><a.id="toc-Casting".hr
2a80 65 66 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 ef="index.xhtml#Casting">Casting
2aa0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f </a></li>.<li><a.id="toc-Type-Co
2ac0 65 72 63 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 ercion".href="index.xhtml#Type-C
2ae0 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 3c 2f 6c 69 3e 0a oercion">Type.Coercion</a></li>.
2b00 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 <li><a.id="toc-Type-Coercion-Str
2b20 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 icter-Qualification".href="index
2b40 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 .xhtml#Type-Coercion-Stricter-Qu
2b60 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 alification">Type.Coercion:.Stri
2b80 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e cter.Qualification</a></li>.<li>
2ba0 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 49 6e 74 65 67 65 72 <a.id="toc-Type-Coercion-Integer
2bc0 2d 61 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 -and-Float-Widening".href="index
2be0 2e 78 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 .xhtml#Type-Coercion-Integer-and
2c00 2d 46 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 -Float-Widening">Type.Coercion:.
2c20 49 6e 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 Integer.and.Float.Widening</a></
2c40 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e li>.<li><a.id="toc-Type-Coercion
2c60 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e -Coercion-Float-to-Int".href="in
2c80 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e dex.xhtml#Type-Coercion-Coercion
2ca0 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f -Float-to-Int">Type.Coercion:.Co
2cc0 65 72 63 69 6f 6e 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 ercion.Float.to.Int</a></li>.<li
2ce0 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 53 6c 69 63 65 73 ><a.id="toc-Type-Coercion-Slices
2d00 2d 41 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 -Arrays-and-Pointers".href="inde
2d20 78 2e 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 x.xhtml#Type-Coercion-Slices-Arr
2d40 61 79 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 ays-and-Pointers">Type.Coercion:
2d60 20 53 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 .Slices,.Arrays.and.Pointers</a>
2d80 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 </li>.<li><a.id="toc-Type-Coerci
2da0 6f 6e 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 on-Optionals".href="index.xhtml#
2dc0 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f Type-Coercion-Optionals">Type.Co
2de0 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c ercion:.Optionals</a></li>.<li><
2e00 61 20 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 a.id="toc-Type-Coercion-Error-Un
2e20 69 6f 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 ions".href="index.xhtml#Type-Coe
2e40 72 63 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 rcion-Error-Unions">Type.Coercio
2e60 6e 3a 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 n:.Error.Unions</a></li>.<li><a.
2e80 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 id="toc-Type-Coercion-Compile-Ti
2ea0 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 me-Known-Numbers".href="index.xh
2ec0 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b tml#Type-Coercion-Compile-Time-K
2ee0 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 6d nown-Numbers">Type.Coercion:.Com
2f00 70 69 6c 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e pile-Time.Known.Numbers</a></li>
2f20 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e .<li><a.id="toc-Type-Coercion-un
2f40 69 6f 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 ions-and-enums".href="index.xhtm
2f60 6c 23 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 l#Type-Coercion-unions-and-enums
2f80 22 3e 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 ">Type.Coercion:.unions.and.enum
2fa0 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 s</a></li>.<li><a.id="toc-Type-C
2fc0 6f 65 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 69 6e oercion-Zero-Bit-Types".href="in
2fe0 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 74 dex.xhtml#Type-Coercion-Zero-Bit
3000 2d 54 79 70 65 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 5a 65 72 6f 20 42 69 74 20 -Types">Type.Coercion:.Zero.Bit.
3020 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 Types</a></li>.<li><a.id="toc-Ty
3040 70 65 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 pe-Coercion-undefined".href="ind
3060 65 78 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 ex.xhtml#Type-Coercion-undefined
3080 22 3e 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 ">Type.Coercion:.undefined</a></
30a0 6c 69 3e 0a 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 74 li>.<li><a.id="toc-Explicit-Cast
30c0 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 61 s".href="index.xhtml#Explicit-Ca
30e0 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 3c 6c 69 sts">Explicit.Casts</a></li>.<li
3100 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e ><a.id="toc-Peer-Type-Resolution
3120 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 65 65 72 2d 54 79 70 65 2d 52 65 ".href="index.xhtml#Peer-Type-Re
3140 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</
3160 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d a></li>.<li><a.id="toc-Zero-Bit-
3180 54 79 70 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 65 72 6f 2d 42 69 Types".href="index.xhtml#Zero-Bi
31a0 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 3c 2f 6c 69 3e t-Types">Zero.Bit.Types</a></li>
31c0 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f 69 64 22 20 68 72 65 66 3d 22 69 6e 64 65 .<li><a.id="toc-void".href="inde
31e0 78 2e 78 68 74 6d 6c 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e x.xhtml#void">void</a></li>.<li>
3200 3c 61 20 69 64 3d 22 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 <a.id="toc-Pointers-to-Zero-Bit-
3220 54 79 70 65 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 Types".href="index.xhtml#Pointer
3240 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 73 20 74 6f s-to-Zero-Bit-Types">Pointers.to
3260 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 6c 69 3e 3c 61 20 .Zero.Bit.Types</a></li>.<li><a.
3280 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 74 69 63 id="toc-Result-Location-Semantic
32a0 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 6f 63 61 s".href="index.xhtml#Result-Loca
32c0 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 6f 6e 20 tion-Semantics">Result.Location.
32e0 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f Semantics</a></li>.<li><a.id="to
3300 63 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 c-usingnamespace".href="index.xh
3320 74 6d 6c 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 tml#usingnamespace">usingnamespa
3340 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 74 ce</a></li>.<li><a.id="toc-compt
3360 69 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d 70 74 69 6d 65 22 ime".href="index.xhtml#comptime"
3380 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 69 64 3d 22 74 6f >comptime</a></li>.<li><a.id="to
33a0 63 2d 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 c-Introducing-the-Compile-Time-C
33c0 6f 6e 63 65 70 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 72 6f 64 oncept".href="index.xhtml#Introd
33e0 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e ucing-the-Compile-Time-Concept">
3400 49 6e 74 72 6f 64 75 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 43 6f 6e Introducing.the.Compile-Time.Con
3420 63 65 70 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d cept</a></li>.<li><a.id="toc-Com
3440 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 6e 64 65 pile-Time-Parameters".href="inde
3460 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 72 73 22 x.xhtml#Compile-Time-Parameters"
3480 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 2f 6c 69 >Compile-Time.Parameters</a></li
34a0 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 >.<li><a.id="toc-Compile-Time-Va
34c0 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 riables".href="index.xhtml#Compi
34e0 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 le-Time-Variables">Compile-Time.
3500 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 69 64 3d 22 74 6f Variables</a></li>.<li><a.id="to
3520 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 72 65 66 c-Compile-Time-Expressions".href
3540 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 70 72 65 ="index.xhtml#Compile-Time-Expre
3560 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 6f 6e 73 ssions">Compile-Time.Expressions
3580 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 65 6e 65 72 69 63 </a></li>.<li><a.id="toc-Generic
35a0 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 -Data-Structures".href="index.xh
35c0 74 6d 6c 23 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 47 65 6e tml#Generic-Data-Structures">Gen
35e0 65 72 69 63 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c eric.Data.Structures</a></li>.<l
3600 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e i><a.id="toc-Case-Study-print-in
3620 2d 5a 69 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 65 2d 53 74 75 -Zig".href="index.xhtml#Case-Stu
3640 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 69 dy-print-in-Zig">Case.Study:.pri
3660 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f nt.in.Zig</a></li>.<li><a.id="to
3680 63 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 41 73 c-Assembly".href="index.xhtml#As
36a0 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 3c 6c 69 3e 3c 61 sembly">Assembly</a></li>.<li><a
36c0 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 65 .id="toc-Output-Constraints".hre
36e0 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 74 f="index.xhtml#Output-Constraint
3700 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 3c s">Output.Constraints</a></li>.<
3720 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 li><a.id="toc-Input-Constraints"
3740 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 .href="index.xhtml#Input-Constra
3760 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e ints">Input.Constraints</a></li>
3780 0a 3c 6c 69 3e 3c 61 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 .<li><a.id="toc-Clobbers".href="
37a0 69 6e 64 65 78 2e 78 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 index.xhtml#Clobbers">Clobbers</
37c0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 a></li>.<li><a.id="toc-Global-As
37e0 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 47 6c 6f 62 61 6c sembly".href="index.xhtml#Global
3800 2d 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f -Assembly">Global.Assembly</a></
3820 6c 69 3e 0a 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>.<li><a.id="toc-Atomics".href
3840 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</
3860 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e a></li>.<li><a.id="toc-Async-Fun
3880 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 73 79 6e 63 2d ctions".href="index.xhtml#Async-
38a0 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f Functions">Async.Functions</a></
38c0 6c 69 3e 0a 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 li>.<li><a.id="toc-Suspend-and-R
38e0 65 73 75 6d 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 esume".href="index.xhtml#Suspend
3900 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<
3920 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6d 69 6e 67 /a></li>.<li><a.id="toc-Resuming
3940 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 20 68 72 65 66 3d 22 69 6e 64 65 -from-Suspend-Blocks".href="inde
3960 78 2e 78 68 74 6d 6c 23 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c x.xhtml#Resuming-from-Suspend-Bl
3980 6f 63 6b 73 22 3e 52 65 73 75 6d 69 6e 67 20 66 72 6f 6d 20 53 75 73 70 65 6e 64 20 42 6c 6f 63 ocks">Resuming.from.Suspend.Bloc
39a0 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e 63 ks</a></li>.<li><a.id="toc-Async
39c0 2d 61 6e 64 2d 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 -and-Await".href="index.xhtml#As
39e0 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</
3a00 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e a></li>.<li><a.id="toc-Async-Fun
3a20 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 78 2e 78 68 74 6d 6c ction-Example".href="index.xhtml
3a40 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 41 73 79 6e 63 20 46 #Async-Function-Example">Async.F
3a60 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 3c 6c 69 3e 3c 61 20 unction.Example</a></li>.<li><a.
3a80 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 66 3d id="toc-Builtin-Functions".href=
3aa0 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 22 3e "index.xhtml#Builtin-Functions">
3ac0 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c Builtin.Functions</a></li>.<li><
3ae0 61 20 69 64 3d 22 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d a.id="toc-addWithOverflow".href=
3b00 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 "index.xhtml#addWithOverflow">@a
3b20 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 ddWithOverflow</a></li>.<li><a.i
3b40 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 d="toc-alignCast".href="index.xh
3b60 74 6d 6c 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 3c 2f 6c tml#alignCast">@alignCast</a></l
3b80 69 3e 0a 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 3d i>.<li><a.id="toc-alignOf".href=
3ba0 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 2f "index.xhtml#alignOf">@alignOf</
3bc0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 73 22 20 68 72 65 66 3d a></li>.<li><a.id="toc-as".href=
3be0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 73 22 3e 40 61 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c "index.xhtml#as">@as</a></li>.<l
3c00 69 3e 3c 61 20 69 64 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 i><a.id="toc-asyncCall".href="in
3c20 64 65 78 2e 78 68 74 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 dex.xhtml#asyncCall">@asyncCall<
3c40 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 4c 6f /a></li>.<li><a.id="toc-atomicLo
3c60 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 63 4c 6f 61 64 ad".href="index.xhtml#atomicLoad
3c80 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 69 64 ">@atomicLoad</a></li>.<li><a.id
3ca0 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 52 6d 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 ="toc-atomicRmw".href="index.xht
3cc0 6d 6c 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 ml#atomicRmw">@atomicRmw</a></li
3ce0 3e 0a 3c 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 >.<li><a.id="toc-atomicStore".hr
3d00 65 66 3d 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 ef="index.xhtml#atomicStore">@at
3d20 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f omicStore</a></li>.<li><a.id="to
3d40 63 2d 62 69 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 c-bitCast".href="index.xhtml#bit
3d60 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 Cast">@bitCast</a></li>.<li><a.i
3d80 64 3d 22 74 6f 63 2d 62 69 74 4f 66 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e d="toc-bitOffsetOf".href="index.
3da0 78 68 74 6d 6c 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 xhtml#bitOffsetOf">@bitOffsetOf<
3dc0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 6f 6f 6c 54 6f 49 6e /a></li>.<li><a.id="toc-boolToIn
3de0 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 3e t".href="index.xhtml#boolToInt">
3e00 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 @boolToInt</a></li>.<li><a.id="t
3e20 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 oc-bitSizeOf".href="index.xhtml#
3e40 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c bitSizeOf">@bitSizeOf</a></li>.<
3e60 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 20 68 72 65 66 3d 22 li><a.id="toc-breakpoint".href="
3e80 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f index.xhtml#breakpoint">@breakpo
3ea0 69 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 75 6c 41 int</a></li>.<li><a.id="toc-mulA
3ec0 64 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 75 6c 41 64 64 22 3e 40 6d dd".href="index.xhtml#mulAdd">@m
3ee0 75 6c 41 64 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 79 ulAdd</a></li>.<li><a.id="toc-by
3f00 74 65 53 77 61 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 79 74 65 53 77 teSwap".href="index.xhtml#byteSw
3f20 61 70 22 3e 40 62 79 74 65 53 77 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 ap">@byteSwap</a></li>.<li><a.id
3f40 3d 22 74 6f 63 2d 62 69 74 52 65 76 65 72 73 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 ="toc-bitReverse".href="index.xh
3f60 74 6d 6c 23 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 3c tml#bitReverse">@bitReverse</a><
3f80 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6f 66 66 73 65 74 4f 66 22 20 68 72 /li>.<li><a.id="toc-offsetOf".hr
3fa0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 ef="index.xhtml#offsetOf">@offse
3fc0 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 6c 6c tOf</a></li>.<li><a.id="toc-call
3fe0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c ".href="index.xhtml#call">@call<
4000 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 44 65 66 69 6e 65 22 /a></li>.<li><a.id="toc-cDefine"
4020 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 .href="index.xhtml#cDefine">@cDe
4040 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6d fine</a></li>.<li><a.id="toc-cIm
4060 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 49 6d 70 6f 72 74 22 port".href="index.xhtml#cImport"
4080 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 69 64 3d 22 74 6f >@cImport</a></li>.<li><a.id="to
40a0 63 2d 63 49 6e 63 6c 75 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 49 c-cInclude".href="index.xhtml#cI
40c0 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c nclude">@cInclude</a></li>.<li><
40e0 61 20 69 64 3d 22 74 6f 63 2d 63 6c 7a 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c a.id="toc-clz".href="index.xhtml
4100 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 #clz">@clz</a></li>.<li><a.id="t
4120 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 oc-cmpxchgStrong".href="index.xh
4140 74 6d 6c 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e tml#cmpxchgStrong">@cmpxchgStron
4160 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6d 70 78 63 68 g</a></li>.<li><a.id="toc-cmpxch
4180 67 57 65 61 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6d 70 78 63 68 67 gWeak".href="index.xhtml#cmpxchg
41a0 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e Weak">@cmpxchgWeak</a></li>.<li>
41c0 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 20 68 72 65 66 3d 22 69 <a.id="toc-compileError".href="i
41e0 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c ndex.xhtml#compileError">@compil
4200 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 eError</a></li>.<li><a.id="toc-c
4220 6f 6d 70 69 6c 65 4c 6f 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d ompileLog".href="index.xhtml#com
4240 70 69 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c pileLog">@compileLog</a></li>.<l
4260 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 68 i><a.id="toc-ctz".href="index.xh
4280 74 6d 6c 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 tml#ctz">@ctz</a></li>.<li><a.id
42a0 3d 22 74 6f 63 2d 63 55 6e 64 65 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ="toc-cUndef".href="index.xhtml#
42c0 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 cUndef">@cUndef</a></li>.<li><a.
42e0 69 64 3d 22 74 6f 63 2d 64 69 76 45 78 61 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 id="toc-divExact".href="index.xh
4300 74 6d 6c 23 64 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 tml#divExact">@divExact</a></li>
4320 0a 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 72 65 66 3d 22 .<li><a.id="toc-divFloor".href="
4340 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 6c 6f 6f 72 3c index.xhtml#divFloor">@divFloor<
4360 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 54 72 75 6e 63 /a></li>.<li><a.id="toc-divTrunc
4380 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 69 76 54 72 75 6e 63 22 3e 40 64 ".href="index.xhtml#divTrunc">@d
43a0 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d ivTrunc</a></li>.<li><a.id="toc-
43c0 65 6d 62 65 64 46 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6d 62 embedFile".href="index.xhtml#emb
43e0 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e edFile">@embedFile</a></li>.<li>
4400 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 <a.id="toc-enumToInt".href="inde
4420 78 2e 78 68 74 6d 6c 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 x.xhtml#enumToInt">@enumToInt</a
4440 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 ></li>.<li><a.id="toc-errorName"
4460 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 .href="index.xhtml#errorName">@e
4480 72 72 6f 72 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 rrorName</a></li>.<li><a.id="toc
44a0 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 78 -errorReturnTrace".href="index.x
44c0 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 74 html#errorReturnTrace">@errorRet
44e0 75 72 6e 54 72 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 urnTrace</a></li>.<li><a.id="toc
4500 2d 65 72 72 6f 72 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 -errorToInt".href="index.xhtml#e
4520 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 6c 69 3e 0a rrorToInt">@errorToInt</a></li>.
4540 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 53 65 74 43 61 73 74 22 20 68 72 65 66 3d <li><a.id="toc-errSetCast".href=
4560 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 "index.xhtml#errSetCast">@errSet
4580 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 Cast</a></li>.<li><a.id="toc-exp
45a0 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 72 74 22 3e 40 ort".href="index.xhtml#export">@
45c0 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 export</a></li>.<li><a.id="toc-e
45e0 78 74 65 72 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 22 xtern".href="index.xhtml#extern"
4600 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 >@extern</a></li>.<li><a.id="toc
4620 2d 66 65 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 -fence".href="index.xhtml#fence"
4640 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d >@fence</a></li>.<li><a.id="toc-
4660 66 69 65 6c 64 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 22 3e field".href="index.xhtml#field">
4680 40 66 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 @field</a></li>.<li><a.id="toc-f
46a0 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c ieldParentPtr".href="index.xhtml
46c0 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 #fieldParentPtr">@fieldParentPtr
46e0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 43 61 </a></li>.<li><a.id="toc-floatCa
4700 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 22 st".href="index.xhtml#floatCast"
4720 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 >@floatCast</a></li>.<li><a.id="
4740 74 6f 63 2d 66 6c 6f 61 74 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d toc-floatToInt".href="index.xhtm
4760 6c 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 3c 2f 6c l#floatToInt">@floatToInt</a></l
4780 69 3e 0a 3c 6c 69 3e 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 i>.<li><a.id="toc-frame".href="i
47a0 6e 64 65 78 2e 78 68 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 ndex.xhtml#frame">@frame</a></li
47c0 3e 0a 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 66 3d 22 69 6e >.<li><a.id="toc-Frame".href="in
47e0 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 3c 2f 6c 69 3e dex.xhtml#Frame">@Frame</a></li>
4800 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 20 68 72 .<li><a.id="toc-frameAddress".hr
4820 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 ef="index.xhtml#frameAddress">@f
4840 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 rameAddress</a></li>.<li><a.id="
4860 74 6f 63 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 toc-frameSize".href="index.xhtml
4880 23 66 72 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 #frameSize">@frameSize</a></li>.
48a0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 73 44 65 63 6c 22 20 68 72 65 66 3d 22 69 6e <li><a.id="toc-hasDecl".href="in
48c0 64 65 78 2e 78 68 74 6d 6c 23 68 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c dex.xhtml#hasDecl">@hasDecl</a><
48e0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 73 46 69 65 6c 64 22 20 68 72 /li>.<li><a.id="toc-hasField".hr
4900 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 ef="index.xhtml#hasField">@hasFi
4920 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6d 70 6f eld</a></li>.<li><a.id="toc-impo
4940 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 69 rt".href="index.xhtml#import">@i
4960 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e mport</a></li>.<li><a.id="toc-in
4980 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 43 61 73 74 tCast".href="index.xhtml#intCast
49a0 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ">@intCast</a></li>.<li><a.id="t
49c0 6f 63 2d 69 6e 74 54 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 oc-intToEnum".href="index.xhtml#
49e0 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c intToEnum">@intToEnum</a></li>.<
4a00 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 72 65 66 3d 22 li><a.id="toc-intToError".href="
4a20 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 74 54 6f 45 72 index.xhtml#intToError">@intToEr
4a40 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 ror</a></li>.<li><a.id="toc-intT
4a60 6f 46 6c 6f 61 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 54 6f 46 oFloat".href="index.xhtml#intToF
4a80 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c loat">@intToFloat</a></li>.<li><
4aa0 61 20 69 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 a.id="toc-intToPtr".href="index.
4ac0 78 68 74 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 xhtml#intToPtr">@intToPtr</a></l
4ae0 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 61 78 69 6d 75 6d 22 20 68 72 65 66 3d i>.<li><a.id="toc-maximum".href=
4b00 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 61 78 69 6d 75 6d 22 3e 40 6d 61 78 69 6d 75 6d 3c 2f "index.xhtml#maximum">@maximum</
4b20 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 63 70 79 22 20 68 a></li>.<li><a.id="toc-memcpy".h
4b40 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 ref="index.xhtml#memcpy">@memcpy
4b60 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 73 65 74 22 </a></li>.<li><a.id="toc-memset"
4b80 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 73 .href="index.xhtml#memset">@mems
4ba0 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 69 6e 69 6d et</a></li>.<li><a.id="toc-minim
4bc0 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 69 6e 69 6d 75 6d 22 3e 40 um".href="index.xhtml#minimum">@
4be0 6d 69 6e 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d minimum</a></li>.<li><a.id="toc-
4c00 77 61 73 6d 4d 65 6d 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 wasmMemorySize".href="index.xhtm
4c20 6c 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a l#wasmMemorySize">@wasmMemorySiz
4c40 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 e</a></li>.<li><a.id="toc-wasmMe
4c60 6d 6f 72 79 47 72 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 61 73 6d moryGrow".href="index.xhtml#wasm
4c80 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e 3c MemoryGrow">@wasmMemoryGrow</a><
4ca0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 6f 64 22 20 68 72 65 66 3d 22 69 /li>.<li><a.id="toc-mod".href="i
4cc0 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ndex.xhtml#mod">@mod</a></li>.<l
4ce0 69 3e 3c 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 i><a.id="toc-mulWithOverflow".hr
4d00 65 66 3d 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 ef="index.xhtml#mulWithOverflow"
4d20 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c >@mulWithOverflow</a></li>.<li><
4d40 61 20 69 64 3d 22 74 6f 63 2d 70 61 6e 69 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 a.id="toc-panic".href="index.xht
4d60 6d 6c 23 70 61 6e 69 63 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 ml#panic">@panic</a></li>.<li><a
4d80 20 69 64 3d 22 74 6f 63 2d 70 6f 70 43 6f 75 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 .id="toc-popCount".href="index.x
4da0 68 74 6d 6c 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 html#popCount">@popCount</a></li
4dc0 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 72 65 66 65 74 63 68 22 20 68 72 65 66 3d >.<li><a.id="toc-prefetch".href=
4de0 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 68 "index.xhtml#prefetch">@prefetch
4e00 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 74 72 43 61 73 74 </a></li>.<li><a.id="toc-ptrCast
4e20 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 74 72 43 61 73 74 22 3e 40 70 74 ".href="index.xhtml#ptrCast">@pt
4e40 72 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 74 rCast</a></li>.<li><a.id="toc-pt
4e60 72 54 6f 49 6e 74 22 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 rToInt".href="index.xhtml#ptrToI
4e80 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 nt">@ptrToInt</a></li>.<li><a.id
4ea0 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 6c 23 72 65 6d ="toc-rem".href="index.xhtml#rem
4ec0 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 ">@rem</a></li>.<li><a.id="toc-r
4ee0 65 74 75 72 6e 41 64 64 72 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 eturnAddress".href="index.xhtml#
4f00 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 61 returnAddress">@returnAddress</a
4f20 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 6c 65 63 74 22 20 68 72 ></li>.<li><a.id="toc-select".hr
4f40 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c ef="index.xhtml#select">@select<
4f60 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 41 6c 69 67 6e /a></li>.<li><a.id="toc-setAlign
4f80 53 74 61 63 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 41 6c 69 67 Stack".href="index.xhtml#setAlig
4fa0 6e 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a nStack">@setAlignStack</a></li>.
4fc0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 43 6f 6c 64 22 20 68 72 65 66 3d 22 69 6e <li><a.id="toc-setCold".href="in
4fe0 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 61 3e 3c dex.xhtml#setCold">@setCold</a><
5000 2f 6c 69 3e 0a 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 63 /li>.<li><a.id="toc-setEvalBranc
5020 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 61 hQuota".href="index.xhtml#setEva
5040 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 74 lBranchQuota">@setEvalBranchQuot
5060 61 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 46 6c 6f a</a></li>.<li><a.id="toc-setFlo
5080 61 74 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 46 6c 6f atMode".href="index.xhtml#setFlo
50a0 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c atMode">@setFloatMode</a></li>.<
50c0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 20 li><a.id="toc-setRuntimeSafety".
50e0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 href="index.xhtml#setRuntimeSafe
5100 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 3c 2f 6c 69 3e 0a 3c ty">@setRuntimeSafety</a></li>.<
5120 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 66 3d 22 69 6e li><a.id="toc-shlExact".href="in
5140 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 63 74 3c 2f 61 dex.xhtml#shlExact">@shlExact</a
5160 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 ></li>.<li><a.id="toc-shlWithOve
5180 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 73 68 6c 57 69 74 68 rflow".href="index.xhtml#shlWith
51a0 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></
51c0 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 72 45 78 61 63 74 22 20 68 72 65 li>.<li><a.id="toc-shrExact".hre
51e0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 f="index.xhtml#shrExact">@shrExa
5200 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 75 66 66 ct</a></li>.<li><a.id="toc-shuff
5220 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 75 66 66 6c 65 22 3e 40 le".href="index.xhtml#shuffle">@
5240 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d shuffle</a></li>.<li><a.id="toc-
5260 73 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 69 7a 65 4f 66 sizeOf".href="index.xhtml#sizeOf
5280 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 69 64 3d 22 74 6f ">@sizeOf</a></li>.<li><a.id="to
52a0 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 74 c-splat".href="index.xhtml#splat
52c0 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 ">@splat</a></li>.<li><a.id="toc
52e0 2d 72 65 64 75 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 65 64 75 63 -reduce".href="index.xhtml#reduc
5300 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 e">@reduce</a></li>.<li><a.id="t
5320 6f 63 2d 73 72 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 72 63 22 3e 40 oc-src".href="index.xhtml#src">@
5340 73 72 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 71 72 74 src</a></li>.<li><a.id="toc-sqrt
5360 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 73 71 72 74 3c ".href="index.xhtml#sqrt">@sqrt<
5380 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 6e 22 20 68 72 65 /a></li>.<li><a.id="toc-sin".hre
53a0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 69 6e 22 3e 40 73 69 6e 3c 2f 61 3e 3c 2f 6c 69 f="index.xhtml#sin">@sin</a></li
53c0 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 73 22 20 68 72 65 66 3d 22 69 6e 64 65 >.<li><a.id="toc-cos".href="inde
53e0 78 2e 78 68 74 6d 6c 23 63 6f 73 22 3e 40 63 6f 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c x.xhtml#cos">@cos</a></li>.<li><
5400 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c a.id="toc-exp".href="index.xhtml
5420 23 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 #exp">@exp</a></li>.<li><a.id="t
5440 6f 63 2d 65 78 70 32 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 32 22 oc-exp2".href="index.xhtml#exp2"
5460 3e 40 65 78 70 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c >@exp2</a></li>.<li><a.id="toc-l
5480 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 3c og".href="index.xhtml#log">@log<
54a0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 32 22 20 68 72 /a></li>.<li><a.id="toc-log2".hr
54c0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 3c ef="index.xhtml#log2">@log2</a><
54e0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 3d /li>.<li><a.id="toc-log10".href=
5500 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 3c 2f "index.xhtml#log10">@log10</a></
5520 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 61 62 73 22 20 68 72 65 66 3d 22 69 li>.<li><a.id="toc-fabs".href="i
5540 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 2f 6c 69 3e 0a ndex.xhtml#fabs">@fabs</a></li>.
5560 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 <li><a.id="toc-floor".href="inde
5580 78 2e 78 68 74 6d 6c 23 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c x.xhtml#floor">@floor</a></li>.<
55a0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 65 69 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e li><a.id="toc-ceil".href="index.
55c0 78 68 74 6d 6c 23 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c xhtml#ceil">@ceil</a></li>.<li><
55e0 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 a.id="toc-trunc".href="index.xht
5600 6d 6c 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 ml#trunc">@trunc</a></li>.<li><a
5620 20 69 64 3d 22 74 6f 63 2d 72 6f 75 6e 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d .id="toc-round".href="index.xhtm
5640 6c 23 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 l#round">@round</a></li>.<li><a.
5660 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 69 id="toc-subWithOverflow".href="i
5680 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 62 ndex.xhtml#subWithOverflow">@sub
56a0 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d WithOverflow</a></li>.<li><a.id=
56c0 22 74 6f 63 2d 74 61 67 4e 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 "toc-tagName".href="index.xhtml#
56e0 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c tagName">@tagName</a></li>.<li><
5700 61 20 69 64 3d 22 74 6f 63 2d 54 68 69 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d a.id="toc-This".href="index.xhtm
5720 6c 23 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 l#This">@This</a></li>.<li><a.id
5740 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 2e 78 68 74 6d ="toc-truncate".href="index.xhtm
5760 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 6c 69 3e 0a 3c l#truncate">@truncate</a></li>.<
5780 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e li><a.id="toc-Type".href="index.
57a0 78 68 74 6d 6c 23 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c xhtml#Type">@Type</a></li>.<li><
57c0 61 20 69 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 a.id="toc-typeInfo".href="index.
57e0 78 68 74 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 xhtml#typeInfo">@typeInfo</a></l
5800 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 79 70 65 4e 61 6d 65 22 20 68 72 65 66 i>.<li><a.id="toc-typeName".href
5820 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 79 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d ="index.xhtml#typeName">@typeNam
5840 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 4f 66 e</a></li>.<li><a.id="toc-TypeOf
5860 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 4f 66 22 3e 40 54 79 70 ".href="index.xhtml#TypeOf">@Typ
5880 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f eOf</a></li>.<li><a.id="toc-unio
58a0 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 6e nInit".href="index.xhtml#unionIn
58c0 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 it">@unionInit</a></li>.<li><a.i
58e0 64 3d 22 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 d="toc-Build-Mode".href="index.x
5900 68 74 6d 6c 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c html#Build-Mode">Build.Mode</a><
5920 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 62 75 67 22 20 68 72 65 66 3d /li>.<li><a.id="toc-Debug".href=
5940 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 3c 2f 6c "index.xhtml#Debug">Debug</a></l
5960 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 20 68 i>.<li><a.id="toc-ReleaseFast".h
5980 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 ref="index.xhtml#ReleaseFast">Re
59a0 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f leaseFast</a></li>.<li><a.id="to
59c0 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c c-ReleaseSafe".href="index.xhtml
59e0 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c #ReleaseSafe">ReleaseSafe</a></l
5a00 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 20 i>.<li><a.id="toc-ReleaseSmall".
5a20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e href="index.xhtml#ReleaseSmall">
5a40 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d ReleaseSmall</a></li>.<li><a.id=
5a60 22 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 20 68 72 65 "toc-Single-Threaded-Builds".hre
5a80 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 f="index.xhtml#Single-Threaded-B
5aa0 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 uilds">Single.Threaded.Builds</a
5ac0 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d ></li>.<li><a.id="toc-Undefined-
5ae0 42 65 68 61 76 69 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 55 6e 64 65 Behavior".href="index.xhtml#Unde
5b00 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 fined-Behavior">Undefined.Behavi
5b20 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 61 63 68 or</a></li>.<li><a.id="toc-Reach
5b40 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 ing-Unreachable-Code".href="inde
5b60 78 2e 78 68 74 6d 6c 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 x.xhtml#Reaching-Unreachable-Cod
5b80 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 61 3e e">Reaching.Unreachable.Code</a>
5ba0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f </li>.<li><a.id="toc-Index-out-o
5bc0 66 2d 42 6f 75 6e 64 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 64 65 f-Bounds".href="index.xhtml#Inde
5be0 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
5c00 75 6e 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 unds</a></li>.<li><a.id="toc-Cas
5c20 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e t-Negative-Number-to-Unsigned-In
5c40 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 2d 4e 65 teger".href="index.xhtml#Cast-Ne
5c60 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 gative-Number-to-Unsigned-Intege
5c80 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 67 r">Cast.Negative.Number.to.Unsig
5ca0 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 ned.Integer</a></li>.<li><a.id="
5cc0 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 20 68 72 65 66 3d 22 69 toc-Cast-Truncates-Data".href="i
5ce0 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e ndex.xhtml#Cast-Truncates-Data">
5d00 43 61 73 74 20 54 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 Cast.Truncates.Data</a></li>.<li
5d20 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 ><a.id="toc-Integer-Overflow".hr
5d40 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 ef="index.xhtml#Integer-Overflow
5d60 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e ">Integer.Overflow</a></li>.<li>
5d80 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 <a.id="toc-Default-Operations".h
5da0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 ref="index.xhtml#Default-Operati
5dc0 6f 6e 73 22 3e 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e ons">Default.Operations</a></li>
5de0 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 .<li><a.id="toc-Standard-Library
5e00 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 64 65 78 2e 78 68 74 -Math-Functions".href="index.xht
5e20 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 46 75 6e 63 74 69 6f ml#Standard-Library-Math-Functio
5e40 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 20 46 75 6e 63 74 69 ns">Standard.Library.Math.Functi
5e60 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c ons</a></li>.<li><a.id="toc-Buil
5e80 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e tin-Overflow-Functions".href="in
5ea0 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 dex.xhtml#Builtin-Overflow-Funct
5ec0 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 ions">Builtin.Overflow.Functions
5ee0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 72 61 70 70 69 6e </a></li>.<li><a.id="toc-Wrappin
5f00 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 2e 78 68 74 6d 6c 23 g-Operations".href="index.xhtml#
5f20 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 70 69 6e 67 20 4f 70 Wrapping-Operations">Wrapping.Op
5f40 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 erations</a></li>.<li><a.id="toc
5f60 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 -Exact-Left-Shift-Overflow".href
5f80 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f ="index.xhtml#Exact-Left-Shift-O
5fa0 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c verflow">Exact.Left.Shift.Overfl
5fc0 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 ow</a></li>.<li><a.id="toc-Exact
5fe0 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 -Right-Shift-Overflow".href="ind
6000 65 78 2e 78 68 74 6d 6c 23 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 ex.xhtml#Exact-Right-Shift-Overf
6020 6c 6f 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c low">Exact.Right.Shift.Overflow<
6040 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 69 76 69 73 69 6f 6e /a></li>.<li><a.id="toc-Division
6060 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 76 69 -by-Zero".href="index.xhtml#Divi
6080 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 3c 2f sion-by-Zero">Division.by.Zero</
60a0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 a></li>.<li><a.id="toc-Remainder
60c0 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 -Division-by-Zero".href="index.x
60e0 68 74 6d 6c 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 html#Remainder-Division-by-Zero"
6100 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c >Remainder.Division.by.Zero</a><
6120 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 /li>.<li><a.id="toc-Exact-Divisi
6140 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 on-Remainder".href="index.xhtml#
6160 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 20 Exact-Division-Remainder">Exact.
6180 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e Division.Remainder</a></li>.<li>
61a0 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 4e 75 6c <a.id="toc-Attempt-to-Unwrap-Nul
61c0 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 70 74 2d 74 6f 2d l".href="index.xhtml#Attempt-to-
61e0 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 77 72 61 70 20 4e Unwrap-Null">Attempt.to.Unwrap.N
6200 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 74 65 ull</a></li>.<li><a.id="toc-Atte
6220 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 mpt-to-Unwrap-Error".href="index
6240 2e 78 68 74 6d 6c 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e .xhtml#Attempt-to-Unwrap-Error">
6260 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 3e 3c 2f 6c 69 3e Attempt.to.Unwrap.Error</a></li>
6280 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f .<li><a.id="toc-Invalid-Error-Co
62a0 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 6c 69 64 2d 45 72 de".href="index.xhtml#Invalid-Er
62c0 72 6f 72 2d 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e ror-Code">Invalid.Error.Code</a>
62e0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 6e 75 </li>.<li><a.id="toc-Invalid-Enu
6300 6d 2d 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 6c 69 m-Cast".href="index.xhtml#Invali
6320 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 6e 75 6d 20 43 61 73 74 3c 2f d-Enum-Cast">Invalid.Enum.Cast</
6340 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 a></li>.<li><a.id="toc-Invalid-E
6360 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c rror-Set-Cast".href="index.xhtml
6380 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 #Invalid-Error-Set-Cast">Invalid
63a0 20 45 72 72 6f 72 20 53 65 74 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 .Error.Set.Cast</a></li>.<li><a.
63c0 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 6e 6d id="toc-Incorrect-Pointer-Alignm
63e0 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 63 74 ent".href="index.xhtml#Incorrect
6400 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 50 6f -Pointer-Alignment">Incorrect.Po
6420 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 3c 6c 69 3e 3c 61 20 inter.Alignment</a></li>.<li><a.
6440 69 64 3d 22 74 6f 63 2d 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 id="toc-Wrong-Union-Field-Access
6460 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d ".href="index.xhtml#Wrong-Union-
6480 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 Field-Access">Wrong.Union.Field.
64a0 41 63 63 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f Access</a></li>.<li><a.id="toc-O
64c0 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 ut-of-Bounds-Float-to-Integer-Ca
64e0 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 75 74 2d 6f 66 2d 42 6f 75 st".href="index.xhtml#Out-of-Bou
6500 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 4f 75 74 20 6f nds-Float-to-Integer-Cast">Out.o
6520 66 20 42 6f 75 6e 64 73 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 65 67 65 72 20 43 61 73 74 3c 2f f.Bounds.Float.to.Integer.Cast</
6540 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 a></li>.<li><a.id="toc-Pointer-C
6560 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 64 65 78 2e 78 68 ast-Invalid-Null".href="index.xh
6580 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 75 6c 6c 22 3e 50 tml#Pointer-Cast-Invalid-Null">P
65a0 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 ointer.Cast.Invalid.Null</a></li
65c0 3e 0a 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 69 >.<li><a.id="toc-Memory".href="i
65e0 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 3c 2f 6c ndex.xhtml#Memory">Memory</a></l
6600 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c i>.<li><a.id="toc-Choosing-an-Al
6620 6c 6f 63 61 74 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 68 6f 6f 73 locator".href="index.xhtml#Choos
6640 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c ing-an-Allocator">Choosing.an.Al
6660 6c 6f 63 61 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d locator</a></li>.<li><a.id="toc-
6680 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 78 Where-are-the-bytes".href="index
66a0 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 72 .xhtml#Where-are-the-bytes">Wher
66c0 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 3c 6c 69 3e 3c 61 e.are.the.bytes?</a></li>.<li><a
66e0 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 .id="toc-Implementing-an-Allocat
6700 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6d 70 6c 65 6d 65 6e 74 69 or".href="index.xhtml#Implementi
6720 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 67 20 61 6e ng-an-Allocator">Implementing.an
6740 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 .Allocator</a></li>.<li><a.id="t
6760 6f 63 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 oc-Heap-Allocation-Failure".href
6780 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 ="index.xhtml#Heap-Allocation-Fa
67a0 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 2f ilure">Heap.Allocation.Failure</
67c0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 63 75 72 73 69 6f 6e a></li>.<li><a.id="toc-Recursion
67e0 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 6f 6e 22 3e 52 ".href="index.xhtml#Recursion">R
6800 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 ecursion</a></li>.<li><a.id="toc
6820 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 20 68 72 65 66 3d 22 69 -Lifetime-and-Ownership".href="i
6840 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 ndex.xhtml#Lifetime-and-Ownershi
6860 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e 64 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 3c 2f 6c p">Lifetime.and.Ownership</a></l
6880 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 i>.<li><a.id="toc-Compile-Variab
68a0 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 65 2d 56 les".href="index.xhtml#Compile-V
68c0 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c ariables">Compile.Variables</a><
68e0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d /li>.<li><a.id="toc-Root-Source-
6900 46 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 6f 6f 74 2d 53 6f 75 File".href="index.xhtml#Root-Sou
6920 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f rce-File">Root.Source.File</a></
6940 6c 69 3e 0a 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 li>.<li><a.id="toc-Zig-Build-Sys
6960 74 65 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 42 75 69 6c 64 tem".href="index.xhtml#Zig-Build
6980 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c -System">Zig.Build.System</a></l
69a0 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 i>.<li><a.id="toc-Building-an-Ex
69c0 65 63 75 74 61 62 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c ecutable".href="index.xhtml#Buil
69e0 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 69 6e 67 20 61 6e 20 ding-an-Executable">Building.an.
6a00 45 78 65 63 75 74 61 62 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 Executable</a></li>.<li><a.id="t
6a20 6f 63 2d 42 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 oc-Building-a-Library".href="ind
6a40 65 78 2e 78 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 ex.xhtml#Building-a-Library">Bui
6a60 6c 64 69 6e 67 20 61 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 lding.a.Library</a></li>.<li><a.
6a80 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 id="toc-Compiling-C-Source-Code"
6aa0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 .href="index.xhtml#Compiling-C-S
6ac0 6f 75 72 63 65 2d 43 6f 64 65 22 3e 43 6f 6d 70 69 6c 69 6e 67 20 43 20 53 6f 75 72 63 65 20 43 ource-Code">Compiling.C.Source.C
6ae0 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 22 20 68 ode</a></li>.<li><a.id="toc-C".h
6b00 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 3c 2f 6c 69 3e 0a 3c ref="index.xhtml#C">C</a></li>.<
6b20 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 li><a.id="toc-C-Type-Primitives"
6b40 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 .href="index.xhtml#C-Type-Primit
6b60 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f 6c 69 3e ives">C.Type.Primitives</a></li>
6b80 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 .<li><a.id="toc-Import-from-C-He
6ba0 61 64 65 72 2d 46 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6d 70 ader-File".href="index.xhtml#Imp
6bc0 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 ort-from-C-Header-File">Import.f
6be0 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c rom.C.Header.File</a></li>.<li><
6c00 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 4c 49 22 20 68 72 65 a.id="toc-C-Translation-CLI".hre
6c20 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 f="index.xhtml#C-Translation-CLI
6c40 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 69 ">C.Translation.CLI</a></li>.<li
6c60 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 20 ><a.id="toc-Command-line-flags".
6c80 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 href="index.xhtml#Command-line-f
6ca0 6c 61 67 73 22 3e 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 66 6c 61 67 73 3c 2f 61 3e 3c 2f 6c 69 lags">Command.line.flags</a></li
6cc0 3e 0a 3c 6c 69 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 >.<li><a.id="toc-Using--target-a
6ce0 6e 64 2d 2d 63 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 nd--cflags".href="index.xhtml#Us
6d00 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 55 73 69 6e 67 20 2d ing--target-and--cflags">Using.-
6d20 74 61 72 67 65 74 20 61 6e 64 20 2d 63 66 6c 61 67 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e target.and.-cflags</a></li>.<li>
6d40 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d <a.id="toc-cImport-vs-translate-
6d60 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 49 6d 70 6f 72 74 2d 76 73 2d c".href="index.xhtml#cImport-vs-
6d80 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 76 73 20 74 72 61 6e 73 6c 61 translate-c">@cImport.vs.transla
6da0 74 65 2d 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 54 te-c</a></li>.<li><a.id="toc-C-T
6dc0 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e ranslation-Caching".href="index.
6de0 78 68 74 6d 6c 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e 43 20 54 xhtml#C-Translation-Caching">C.T
6e00 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 68 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e ranslation.Caching</a></li>.<li>
6e20 3c 61 20 69 64 3d 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 <a.id="toc-Translation-failures"
6e40 20 68 72 65 66 3d 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 .href="index.xhtml#Translation-f
6e60 61 69 6c 75 72 65 73 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f 61 ailures">Translation.failures</a
6e80 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 4d 61 63 72 6f 73 22 20 ></li>.<li><a.id="toc-C-Macros".
6ea0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 4d 61 63 72 6f 73 22 3e 43 20 4d 61 href="index.xhtml#C-Macros">C.Ma
6ec0 63 72 6f 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 50 cros</a></li>.<li><a.id="toc-C-P
6ee0 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 43 2d 50 6f 69 ointers".href="index.xhtml#C-Poi
6f00 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c nters">C.Pointers</a></li>.<li><
6f20 61 20 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 a.id="toc-Exporting-a-C-Library"
6f40 20 68 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 .href="index.xhtml#Exporting-a-C
6f60 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<
6f80 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 69 78 69 6e 67 2d 4f /a></li>.<li><a.id="toc-Mixing-O
6fa0 62 6a 65 63 74 2d 46 69 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d bject-Files".href="index.xhtml#M
6fc0 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 ixing-Object-Files">Mixing.Objec
6fe0 74 20 46 69 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d t.Files</a></li>.<li><a.id="toc-
7000 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 74 6d 6c 23 57 WebAssembly".href="index.xhtml#W
7020 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 3c 2f 6c 69 3e ebAssembly">WebAssembly</a></li>
7040 0a 3c 6c 69 3e 3c 61 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 .<li><a.id="toc-Freestanding".hr
7060 65 66 3d 22 69 6e 64 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 ef="index.xhtml#Freestanding">Fr
7080 65 65 73 74 61 6e 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 eestanding</a></li>.<li><a.id="t
70a0 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 57 41 53 49 22 oc-WASI".href="index.xhtml#WASI"
70c0 3e 57 41 53 49 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 >WASI</a></li>.<li><a.id="toc-Ta
70e0 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
7100 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ">Targets</a></li>.<li><a.id="to
7120 63 2d 53 74 79 6c 65 2d 47 75 69 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c c-Style-Guide".href="index.xhtml
7140 23 53 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 3c 2f 6c #Style-Guide">Style.Guide</a></l
7160 69 3e 0a 3c 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 i>.<li><a.id="toc-Whitespace".hr
7180 65 66 3d 22 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 ef="index.xhtml#Whitespace">Whit
71a0 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e espace</a></li>.<li><a.id="toc-N
71c0 61 6d 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4e 61 6d 65 73 22 3e 4e ames".href="index.xhtml#Names">N
71e0 61 6d 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 ames</a></li>.<li><a.id="toc-Exa
7200 6d 70 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 61 6d 70 6c 65 mples".href="index.xhtml#Example
7220 73 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 s">Examples</a></li>.<li><a.id="
7240 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="
7260 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
7280 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>.
72a0 3c 6c 69 3e 3c 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 <li><a.id="toc-Source-Encoding".
72c0 68 72 65 66 3d 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 href="index.xhtml#Source-Encodin
72e0 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e g">Source.Encoding</a></li>.<li>
7300 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 20 68 72 <a.id="toc-Keyword-Reference".hr
7320 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 65 6e 63 ef="index.xhtml#Keyword-Referenc
7340 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 0a 3c 6c e">Keyword.Reference</a></li>.<l
7360 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 72 61 6d 6d 61 72 22 20 68 72 65 66 3d 22 69 6e 64 65 i><a.id="toc-Grammar".href="inde
7380 78 2e 78 68 74 6d 6c 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 x.xhtml#Grammar">Grammar</a></li
73a0 3e 0a 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 >.<li><a.id="toc-Zen".href="inde
73c0 78 2e 78 68 74 6d 6c 23 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 6f 6c 3e 0a x.xhtml#Zen">Zen</a></li>.</ol>.
73e0 0a 20 20 20 20 3c 2f 6e 61 76 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b .....</nav>...</body>.</html>.PK
7400 03 04 14 00 00 00 00 00 00 00 21 52 52 dd 60 2b 78 86 10 00 78 86 10 00 11 00 00 00 4f 45 42 50 ..........!RR.`+x...x.......OEBP
7420 53 2f 69 6e 64 65 78 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 S/index.xhtml<?xml.version="1.0"
7440 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 .encoding="utf-8"?>..<html.xmlns
7460 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 ="http://www.w3.org/1999/xhtml".
7480 6c 61 6e 67 3d 22 65 6e 22 3e 0a 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 3c 6d 65 74 61 20 63 68 lang="en">...<head>.....<meta.ch
74a0 61 72 73 65 74 3d 22 75 74 66 2d 38 22 2f 3e 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 arset="utf-8"/>.....<meta.name="
74c0 76 69 65 77 70 6f 72 74 22 20 63 6f 6e 74 65 6e 74 3d 22 77 69 64 74 68 3d 64 65 76 69 63 65 2d viewport".content="width=device-
74e0 77 69 64 74 68 2c 20 69 6e 69 74 69 61 6c 2d 73 63 61 6c 65 3d 31 2e 30 22 2f 3e 0a 20 20 20 20 width,.initial-scale=1.0"/>.....
7500 3c 74 69 74 6c 65 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 2d 20 54 68 65 20 5a 69 67 20 50 <title>Documentation.-.The.Zig.P
7520 72 6f 67 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 61 67 65 3c 2f 74 69 74 6c 65 3e 0a 20 20 20 20 rogramming.Language</title>.....
7540 3c 6c 69 6e 6b 20 72 65 6c 3d 22 69 63 6f 6e 22 20 68 72 65 66 3d 22 64 61 74 61 3a 69 6d 61 67 <link.rel="icon".href="data:imag
7560 65 2f 70 6e 67 3b 62 61 73 65 36 34 2c 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 e/png;base64,iVBORw0KGgoAAAANSUh
7580 45 55 67 41 41 41 42 41 41 41 41 41 51 43 41 59 41 41 41 41 66 38 2f 39 68 41 41 41 41 67 6b 6c EUgAAABAAAAAQCAYAAAAf8/9hAAAAgkl
75a0 45 51 56 52 34 41 57 4d 59 57 75 44 37 45 6c 6c 4a 49 4d 34 47 34 67 34 67 35 6f 49 4a 2f 6f 64 EQVR4AWMYWuD7EllJIM4G4g4g5oIJ/od
75c0 68 4f 4a 38 77 54 6f 4f 78 53 54 58 67 4e 78 44 48 6f 65 69 42 4d 66 41 34 2b 77 47 53 68 6a 79 hOJ8wToOxSTXgNxDHoeiBMfA4+wGShjy
75e0 59 4f 43 6b 47 2f 49 47 71 57 51 7a 69 45 7a 59 41 6f 55 41 65 69 46 39 44 35 55 2b 44 78 45 67 YOCkG/IGqWQziEzYAoUAeiF9D5U+DxEg
7600 31 34 44 52 55 37 6a 57 49 54 35 49 42 49 4f 64 43 78 66 2b 41 2b 43 51 5a 41 41 6f 6f 70 45 42 14DRU7jWIT5IBIOdCxf+A+CQZAAoopEB
7620 37 51 4a 77 42 43 42 77 48 69 69 70 38 55 59 6d 52 64 72 41 6c 44 70 49 4d 67 41 70 77 51 5a 4e 7QJwBCBwHiip8UYmRdrAlDpIMgApwQZN
7640 6e 4e 69 69 35 44 71 30 4d 42 67 43 78 78 79 63 42 6e 77 45 64 2b 77 41 41 41 41 42 4a 52 55 35 nNii5Dq0MBgCxxycBnwEd+wAAAABJRU5
7660 45 72 6b 4a 67 67 67 3d 3d 22 2f 3e 0a 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 3a ErkJggg=="/>.....<style>.......:
7680 72 6f 6f 74 7b 0a 20 20 20 20 20 20 20 20 20 2d 2d 6e 61 76 2d 77 69 64 74 68 3a 20 32 34 65 6d root{..........--nav-width:.24em
76a0 3b 0a 20 20 20 20 20 20 20 20 20 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 3a 20 31 65 6d 3b 0a ;..........--nav-margin-l:.1em;.
76c0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 ......}.......body{.........font
76e0 2d 66 61 6d 69 6c 79 3a 20 73 79 73 74 65 6d 2d 75 69 2c 20 2d 61 70 70 6c 65 2d 73 79 73 74 65 -family:.system-ui,.-apple-syste
7700 6d 2c 20 52 6f 62 6f 74 6f 2c 20 22 53 65 67 6f 65 20 55 49 22 2c 20 73 61 6e 73 2d 73 65 72 69 m,.Roboto,."Segoe.UI",.sans-seri
7720 66 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 6c 69 f;.........margin:.0;.........li
7740 6e 65 2d 68 65 69 67 68 74 3a 20 31 2e 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 65 ne-height:.1.5;.......}.......he
7760 61 64 65 72 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 ader.{.........padding:.0.1em;..
7780 20 20 20 20 20 7d 0a 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 20 7b 0a 20 20 20 20 20 20 20 .....}.......#contents.{........
77a0 20 6d 61 78 2d 77 69 64 74 68 3a 20 36 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e .max-width:.60em;.........margin
77c0 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a :.auto;.........padding:.0.1em;.
77e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 ......}.......#navigation.{.....
7800 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 0a 20 20 20 ....padding:.0.1em;.......}.....
7820 20 20 20 40 6d 65 64 69 61 20 73 63 72 65 65 6e 20 61 6e 64 20 28 6d 69 6e 2d 77 69 64 74 68 3a ...@media.screen.and.(min-width:
7840 20 31 30 32 35 70 78 29 20 7b 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 .1025px).{.........header.{.....
7860 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 2d 2d 6e 61 ......margin-left:.calc(var(--na
7880 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 6c 29 29 3b v-width).+.var(--nav-margin-l));
78a0 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 68 31 20 7b 0a 20 .........}.........header.h1.{..
78c0 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 .........margin:.auto;..........
78e0 20 6d 61 78 2d 77 69 64 74 68 3a 20 33 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .max-width:.30em;.........}.....
7900 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 20 20 6f 76 65 72 ....#navigation.{...........over
7920 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 3a 20 76 61 72 flow:.auto;...........width:.var
7940 28 2d 2d 6e 61 76 2d 77 69 64 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 3a (--nav-width);...........height:
7960 20 31 30 30 76 68 3b 0a 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 3a 20 66 69 78 65 .100vh;...........position:.fixe
7980 64 3b 0a 20 20 20 20 20 20 20 20 20 20 74 6f 70 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 6c 65 d;...........top:0;...........le
79a0 66 74 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 3a 30 3b 0a 20 20 20 20 20 20 ft:0;...........bottom:0;.......
79c0 20 20 20 20 70 61 64 64 69 6e 67 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 ....padding:.unset;...........ma
79e0 72 67 69 6e 2d 6c 65 66 74 3a 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 3b 0a rgin-left:.var(--nav-margin-l);.
7a00 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 6e 61 ........}.........#navigation.na
7a20 76 20 75 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 31 v.ul.{...........padding-left:.1
7a40 65 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 2d em;.........}.........#contents-
7a60 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a wrapper.{...........margin-left:
7a80 20 63 61 6c 63 28 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 68 29 20 2b 20 76 61 72 28 2d 2d 6e .calc(var(--nav-width).+.var(--n
7aa0 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a av-margin-l));.........}.....}..
7ac0 20 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 62 61 63 6b ....a:hover,a:focus.{.......back
7ae0 67 72 6f 75 6e 64 3a 20 23 66 66 66 32 61 38 3b 0a 20 20 20 20 7d 0a 20 20 20 20 64 74 20 7b 0a ground:.#fff2a8;.....}.....dt.{.
7b00 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;.....}..
7b20 20 20 20 74 61 62 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 2d ...table,.th,.td.{.......border-
7b40 63 6f 6c 6c 61 70 73 65 3a 20 63 6f 6c 6c 61 70 73 65 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 collapse:.collapse;.......border
7b60 3a 20 31 70 78 20 73 6f 6c 69 64 20 67 72 65 79 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 2c 20 :.1px.solid.grey;.....}.....th,.
7b80 74 64 20 7b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 31 65 6d 3b 0a 20 20 20 20 7d td.{.......padding:.0.1em;.....}
7ba0 0a 20 20 20 20 74 68 5b 73 63 6f 70 65 3d 72 6f 77 5d 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 .....th[scope=row].{.........tex
7bc0 74 2d 61 6c 69 67 6e 3a 20 6c 65 66 74 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 t-align:.left;.........font-weig
7be0 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 30 5f 31 2c 20 2e 74 33 ht:.normal;.....}......t0_1,..t3
7c00 37 2c 20 2e 74 33 37 5f 31 20 7b 0a 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 7,..t37_1.{.......font-weight:.b
7c20 6f 6c 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 20 20 20 20 63 6f 6c old;.....}......t2_0.{.......col
7c40 6f 72 3a 20 23 35 37 35 37 35 37 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 33 31 5f 31 20 7b 0a or:.#575757;.....}......t31_1.{.
7c60 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 62 34 30 30 30 30 3b 0a 20 20 20 20 7d 0a 20 20 20 20 ......color:.#b40000;.....}.....
7c80 2e 74 33 32 5f 31 20 7b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 65 6e 3b 0a 20 20 20 .t32_1.{.......color:.green;....
7ca0 20 7d 0a 20 20 20 20 2e 74 33 36 5f 31 20 7b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 .}......t36_1.{.......color:.#00
7cc0 35 43 37 41 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 66 69 6c 65 20 7b 0a 20 20 20 20 20 20 66 6f 5C7A;.....}......file.{.......fo
7ce0 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 nt-weight:.bold;.......border:.u
7d00 6e 73 65 74 3b 0a 20 20 20 20 7d 0a 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 62 61 63 nset;.....}.....code.{.......bac
7d20 6b 67 72 6f 75 6e 64 3a 20 23 66 38 66 38 66 38 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 kground:.#f8f8f8;.......border:.
7d40 31 70 78 20 64 6f 74 74 65 64 20 73 69 6c 76 65 72 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 1px.dotted.silver;.......padding
7d60 2d 6c 65 66 74 3a 20 30 2e 33 65 6d 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 72 69 67 68 -left:.0.3em;.......padding-righ
7d80 74 3a 20 30 2e 33 65 6d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b t:.0.3em;.....}.....pre.>.code.{
7da0 0a 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 6f 76 65 .......display:.block;.......ove
7dc0 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 rflow:.auto;.......padding:.0.5e
7de0 6d 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b m;.......border:.1px.solid.#eee;
7e00 0a 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 .......line-height:.normal;.....
7e20 7d 0a 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 }.....samp.{.......background:.#
7e40 66 61 66 61 66 61 3b 0a 20 20 20 20 7d 0a 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 fafafa;.....}.....pre.>.samp.{..
7e60 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 .....display:.block;.......overf
7e80 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b low:.auto;.......padding:.0.5em;
7ea0 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 .......border:.1px.solid.#eee;..
7ec0 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 7d 0a .....line-height:.normal;.....}.
7ee0 20 20 20 20 6b 62 64 20 7b 0a 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c ....kbd.{.......font-weight:.bol
7f00 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 61 62 6c 65 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 d;.....}......table-wrapper.{...
7f20 20 20 20 20 77 69 64 74 68 3a 20 31 30 30 25 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 2d ....width:.100%;.......overflow-
7f40 78 3a 20 61 75 74 6f 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 x:.auto;.....}.......tok-kw.{...
7f60 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d ......color:.#333;.........font-
7f80 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 73 74 72 weight:.bold;.....}......tok-str
7fa0 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 64 31 34 3b 0a 20 20 20 20 7d 0a 20 20 .{.........color:.#d14;.....}...
7fc0 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ...tok-builtin.{.........color:.
7fe0 23 30 30 35 43 37 41 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 #005C7A;.....}......tok-comment.
8000 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 35 34 35 34 35 34 3b 0a 20 20 20 20 20 20 {.........color:.#545454;.......
8020 20 20 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 69 74 61 6c 69 63 3b 0a 20 20 20 20 7d 0a 20 20 20 20 ..font-style:.italic;.....}.....
8040 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 30 30 3b 0a 20 .tok-fn.{.........color:.#900;..
8060 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a .......font-weight:.bold;.....}.
8080 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 .....tok-null.{.........color:.#
80a0 30 30 35 43 35 43 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 7b 0a 005C5C;.....}......tok-number.{.
80c0 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 20 20 7d 0a 20 20 ........color:.#005C5C;.....}...
80e0 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 34 35 ...tok-type.{.........color:.#45
8100 38 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 6c 64 3b 0a 20 20 8;.........font-weight:.bold;...
8120 20 20 7d 0a 0a 20 20 20 20 66 69 67 75 72 65 20 7b 0a 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 ..}......figure.{.......margin:.
8140 61 75 74 6f 20 30 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 69 67 75 72 65 20 70 72 65 20 7b 0a 20 auto.0;.....}.....figure.pre.{..
8160 20 20 20 20 20 6d 61 72 67 69 6e 2d 74 6f 70 3a 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 .....margin-top:.0;.....}......f
8180 69 67 63 61 70 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 igcaption.{.......padding-left:.
81a0 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 73 6d 61 6c 6c 3b 0a 20 0.5em;.......font-size:.small;..
81c0 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 35 70 78 .....border-top-left-radius:.5px
81e0 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a ;.......border-top-right-radius:
8200 20 35 70 78 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 7a 69 67 2d 63 .5px;.....}.....figcaption.zig-c
8220 61 70 20 7b 0a 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 ap.{.......background:.#fcdba5;.
8240 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 63 2d 63 61 70 20 7b 0a 20 20 20 ....}.....figcaption.c-cap.{....
8260 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 61 38 62 39 63 63 3b 0a 20 20 20 20 20 20 63 6f ...background:.#a8b9cc;.......co
8280 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e lor:.#000;.....}.....figcaption.
82a0 70 65 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 63 64 peg-cap.{.......background:.#fcd
82c0 62 61 35 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 6a 61 76 61 73 63 ba5;.....}.....figcaption.javasc
82e0 72 69 70 74 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 33 36 ript-cap.{.......background:.#36
8300 35 64 39 35 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 7d 0a 20 5d95;.......color:.#fff;.....}..
8320 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 ...figcaption.shell-cap.{.......
8340 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 background:.#ccc;.......color:.#
8360 30 30 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 73 69 64 65 20 7b 0a 20 20 20 20 20 20 62 6f 000;.....}......aside.{.......bo
8380 72 64 65 72 2d 6c 65 66 74 3a 20 30 2e 32 35 65 6d 20 73 6f 6c 69 64 20 23 66 37 61 34 31 64 3b rder-left:.0.25em.solid.#f7a41d;
83a0 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 20 30 20 31 65 6d 3b 0a 20 20 20 .......padding:.0.1em.0.1em;....
83c0 20 7d 0a 0a 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 20 61 2c 20 68 34 20 61 2c 20 .}......h1.a,.h2.a,.h3.a,.h4.a,.
83e0 68 35 20 61 20 7b 0a 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6e 6f h5.a.{.......text-decoration:.no
8400 6e 65 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 7d 0a 0a 20 20 ne;.......color:.#333;.....}....
8420 20 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 68 69 64 64 ..a.hdr.{.......visibility:.hidd
8440 65 6e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 68 31 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 en;.....}.....h1:hover.>.a.hdr,.
8460 68 32 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 33 3a 68 6f 76 65 72 20 3e 20 61 2e 68 h2:hover.>.a.hdr,.h3:hover.>.a.h
8480 64 72 2c 20 68 34 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 35 3a 68 6f 76 65 72 20 3e dr,.h4:hover.>.a.hdr,.h5:hover.>
84a0 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 76 69 73 69 62 .a.hdr.{.......visibility:.visib
84c0 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 65 20 7b 0a 20 20 20 20 20 20 63 6f 75 6e 74 le;.....}......pre.{.......count
84e0 65 72 2d 72 65 73 65 74 3a 20 6c 69 6e 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 70 72 65 20 2e 6c er-reset:.line;.....}.....pre..l
8500 69 6e 65 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 69 6e 63 72 65 ine:before.{.......counter-incre
8520 6d 65 6e 74 3a 20 6c 69 6e 65 3b 0a 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 20 63 6f 75 6e 74 ment:.line;.......content:.count
8540 65 72 28 6c 69 6e 65 29 3b 0a 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 69 6e 6c 69 6e 65 2d er(line);.......display:.inline-
8560 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 72 69 67 68 74 3a 20 31 65 6d 3b block;.......padding-right:.1em;
8580 0a 20 20 20 20 20 20 77 69 64 74 68 3a 20 32 65 6d 3b 0a 20 20 20 20 20 20 74 65 78 74 2d 61 6c .......width:.2em;.......text-al
85a0 69 67 6e 3a 20 72 69 67 68 74 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 39 39 3b 0a 20 ign:.right;.......color:.#999;..
85c0 20 20 20 7d 0a 20 20 20 20 74 68 20 70 72 65 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 62 ...}.....th.pre.code.{.........b
85e0 61 63 6b 67 72 6f 75 6e 64 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 20 2e 6c ackground:.none;.....}.....th..l
8600 69 6e 65 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 6e 6f ine:before.{.........display:.no
8620 6e 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 40 6d 65 64 69 61 20 28 70 72 65 66 65 72 73 2d 63 ne;.....}......@media.(prefers-c
8640 6f 6c 6f 72 2d 73 63 68 65 6d 65 3a 20 64 61 72 6b 29 20 7b 0a 20 20 20 20 20 20 62 6f 64 79 7b olor-scheme:.dark).{.......body{
8660 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 23 31 32 31 32 31 32 3b 0a 20 ...........background:#121212;..
8680 20 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 7d 0a 20 20 .........color:.#ccc;.......}...
86a0 20 20 20 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 38 38 66 3b 0a 20 ....a.{...........color:.#88f;..
86c0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 .....}.......a:hover,a:focus.{..
86e0 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 .........color:.#000;.......}...
8700 20 20 20 20 74 61 62 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 6f ....table,.th,.td.{...........bo
8720 72 64 65 72 2d 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 rder-color:.grey;.......}.......
8740 2e 74 32 5f 30 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 .t2_0.{...........color:.grey;..
8760 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .....}........t31_1.{...........
8780 63 6f 6c 6f 72 3a 20 72 65 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 32 5f 31 color:.red;.......}........t32_1
87a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 42 38 30 30 3b 0a 20 20 20 .{...........color:.#00B800;....
87c0 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 36 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f ...}........t36_1.{...........co
87e0 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 63 6f 64 65 lor:.#0086b3;.......}.......code
8800 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 32 32 3b 0a 20 20 20 .{.........background:.#222;....
8820 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 3a 20 23 34 34 34 3b 0a 20 20 20 20 20 20 7d .....border-color:.#444;.......}
8840 0a 20 20 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f .......pre.>.code.{...........co
8860 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a lor:.#ccc;...........background:
8880 20 23 32 32 32 3b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a .#222;...........border:.unset;.
88a0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 ......}.......samp.{.........bac
88c0 6b 67 72 6f 75 6e 64 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 kground:.#000;.........color:.#c
88e0 63 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 cc;.......}.......pre.>.samp.{..
8900 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;.......}...
8920 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 .....tok-kw.{...........color:.#
8940 65 65 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 eee;.......}........tok-str.{...
8960 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 32 65 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 ........color:.#2e5;.......}....
8980 20 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f ....tok-builtin.{...........colo
89a0 72 3a 20 23 66 66 38 39 34 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 63 r:.#ff894c;.......}........tok-c
89c0 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 37 3b 0a omment.{...........color:.#aa7;.
89e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 20 ......}........tok-fn.{.........
8a00 20 20 63 6f 6c 6f 72 3a 20 23 42 31 41 30 46 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..color:.#B1A0F8;.......}.......
8a20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 .tok-null.{...........color:.#ff
8a40 38 30 38 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 8080;.......}........tok-number.
8a60 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;.....
8a80 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ..}........tok-type.{...........
8aa0 63 6f 6c 6f 72 3a 20 23 36 38 66 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 31 20 61 2c color:.#68f;.......}.......h1.a,
8ac0 20 68 32 20 61 2c 20 68 33 20 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 .h2.a,.h3.a,.h4.a,.h5.a.{.......
8ae0 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 61 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 ....color:.#aaa;.......}.......f
8b00 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 20 20 20 20 20 62 61 igcaption.zig-cap.{...........ba
8b20 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 20 ckground-color:.#b27306;........
8b40 20 20 20 63 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 66 69 ...color:.#000;.......}.......fi
8b60 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 gcaption.peg-cap.{...........bac
8b80 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 20 20 kground-color:.#b27306;.........
8ba0 20 20 63 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 66 69 67 ..color:.#000;.......}.......fig
8bc0 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b caption.shell-cap.{.........back
8be0 67 72 6f 75 6e 64 3a 20 23 32 61 32 61 32 61 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ground:.#2a2a2a;.........color:.
8c00 23 66 66 66 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 3c 2f 73 74 79 6c 65 3e 0a 3c #fff;.......}.....}...</style>.<
8c20 2f 68 65 61 64 3e 0a 3c 62 6f 64 79 3e 0a 20 20 3c 68 65 61 64 65 72 3e 3c 68 31 3e 5a 69 67 20 /head>.<body>...<header><h1>Zig.
8c40 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 3c 2f 68 31 3e 3c 2f 68 65 61 64 65 72 3e Language.Reference</h1></header>
8c60 0a 20 20 3c 64 69 76 20 69 64 3d 22 6d 61 69 6e 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 ...<div.id="main-wrapper">......
8c80 20 0a 20 20 20 20 20 20 3c 64 69 76 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 ........<div.id="contents-wrappe
8ca0 72 22 3e 3c 6d 61 69 6e 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 22 3e 0a 20 20 20 20 20 20 3c 68 r"><main.id="contents">.......<h
8cc0 32 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2.id="Introduction"><a.href="nav
8ce0 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 75 .xhtml#toc-Introduction">Introdu
8d00 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ction</a>.<a.class="hdr".href="#
8d20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 Introduction">..</a></h2>.......
8d40 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c .<p>.......<a.href="https://zigl
8d60 61 6e 67 2e 6f 72 67 22 3e 5a 69 67 3c 2f 61 3e 20 69 73 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 ang.org">Zig</a>.is.a.general-pu
8d80 72 70 6f 73 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 61 6e 64 20 74 rpose.programming.language.and.t
8da0 6f 6f 6c 63 68 61 69 6e 20 66 6f 72 20 6d 61 69 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 20 3c oolchain.for.maintaining.......<
8dc0 73 74 72 6f 6e 67 3e 72 6f 62 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 2c 20 3c 73 74 72 6f 6e 67 3e strong>robust</strong>,.<strong>
8de0 6f 70 74 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e 2c 20 61 6e 64 20 3c 73 74 72 6f 6e 67 3e 72 65 optimal</strong>,.and.<strong>re
8e00 75 73 61 62 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 73 6f 66 74 77 61 72 65 2e 0a 20 20 20 20 20 20 usable</strong>.software........
8e20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 52 6f 62 75 </p>.......<dl>.........<dt>Robu
8e40 73 74 3c 2f 64 74 3e 3c 64 64 3e 42 65 68 61 76 69 6f 72 20 69 73 20 63 6f 72 72 65 63 74 20 65 st</dt><dd>Behavior.is.correct.e
8e60 76 65 6e 20 66 6f 72 20 65 64 67 65 20 63 61 73 65 73 20 73 75 63 68 20 61 73 20 6f 75 74 20 6f ven.for.edge.cases.such.as.out.o
8e80 66 20 6d 65 6d 6f 72 79 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 4f 70 74 69 6d f.memory.</dd>.........<dt>Optim
8ea0 61 6c 3c 2f 64 74 3e 3c 64 64 3e 57 72 69 74 65 20 70 72 6f 67 72 61 6d 73 20 74 68 65 20 62 65 al</dt><dd>Write.programs.the.be
8ec0 73 74 20 77 61 79 20 74 68 65 79 20 63 61 6e 20 62 65 68 61 76 65 20 61 6e 64 20 70 65 72 66 6f st.way.they.can.behave.and.perfo
8ee0 72 6d 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 52 65 75 73 61 62 6c 65 3c 2f 64 rm.</dd>.........<dt>Reusable</d
8f00 74 3e 3c 64 64 3e 54 68 65 20 73 61 6d 65 20 63 6f 64 65 20 77 6f 72 6b 73 20 69 6e 20 6d 61 6e t><dd>The.same.code.works.in.man
8f20 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 68 69 63 68 20 68 61 76 65 20 64 69 66 66 65 72 y.environments.which.have.differ
8f40 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 3c 2f 64 64 3e 0a ent...........constraints.</dd>.
8f60 20 20 20 20 20 20 20 20 3c 64 74 3e 4d 61 69 6e 74 61 69 6e 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 ........<dt>Maintainable</dt><dd
8f80 3e 50 72 65 63 69 73 65 6c 79 20 63 6f 6d 6d 75 6e 69 63 61 74 65 20 69 6e 74 65 6e 74 20 74 6f >Precisely.communicate.intent.to
8fa0 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 .the.compiler.and...........othe
8fc0 72 20 70 72 6f 67 72 61 6d 6d 65 72 73 2e 20 54 68 65 20 6c 61 6e 67 75 61 67 65 20 69 6d 70 6f r.programmers..The.language.impo
8fe0 73 65 73 20 61 20 6c 6f 77 20 6f 76 65 72 68 65 61 64 20 74 6f 20 72 65 61 64 69 6e 67 20 63 6f ses.a.low.overhead.to.reading.co
9000 64 65 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 72 65 73 69 6c 69 65 6e 74 20 74 6f de.and.is...........resilient.to
9020 20 63 68 61 6e 67 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 65 6e 76 69 72 .changing.requirements.and.envir
9040 6f 6e 6d 65 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 onments.</dd>.......</dl>.......
9060 3c 70 3e 0a 20 20 20 20 20 20 4f 66 74 65 6e 20 74 68 65 20 6d 6f 73 74 20 65 66 66 69 63 69 65 <p>.......Often.the.most.efficie
9080 6e 74 20 77 61 79 20 74 6f 20 6c 65 61 72 6e 20 73 6f 6d 65 74 68 69 6e 67 20 6e 65 77 20 69 73 nt.way.to.learn.something.new.is
90a0 20 74 6f 20 73 65 65 20 65 78 61 6d 70 6c 65 73 2c 20 73 6f 0a 20 20 20 20 20 20 74 68 69 73 20 .to.see.examples,.so.......this.
90c0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 68 6f 77 73 20 68 6f 77 20 74 6f 20 75 73 65 20 65 documentation.shows.how.to.use.e
90e0 61 63 68 20 6f 66 20 5a 69 67 27 73 20 66 65 61 74 75 72 65 73 2e 20 49 74 20 69 73 0a 20 20 20 ach.of.Zig's.features..It.is....
9100 20 20 20 61 6c 6c 20 6f 6e 20 6f 6e 65 20 70 61 67 65 20 73 6f 20 79 6f 75 20 63 61 6e 20 73 65 ...all.on.one.page.so.you.can.se
9120 61 72 63 68 20 77 69 74 68 20 79 6f 75 72 20 62 72 6f 77 73 65 72 27 73 20 73 65 61 72 63 68 20 arch.with.your.browser's.search.
9140 74 6f 6f 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 tool........</p>.......<p>......
9160 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 73 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 .The.code.samples.in.this.docume
9180 6e 74 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 61 6e 64 20 74 65 73 74 65 64 20 61 73 20 70 61 nt.are.compiled.and.tested.as.pa
91a0 72 74 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 74 65 73 74 20 73 75 69 74 65 20 6f 66 20 5a 69 67 rt.of.the.main.test.suite.of.Zig
91c0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 ........</p>.......<p>.......Thi
91e0 73 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 6e 6f 20 65 78 s.HTML.document.depends.on.no.ex
9200 74 65 72 6e 61 6c 20 66 69 6c 65 73 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 75 73 65 20 69 74 20 ternal.files,.so.you.can.use.it.
9220 6f 66 66 6c 69 6e 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 offline........</p>.............
9240 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e ..<h2.id="Zig-Standard-Library">
9260 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 5a 69 67 2d 53 74 61 6e 64 <a.href="nav.xhtml#toc-Zig-Stand
9280 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 ard-Library">Zig.Standard.Librar
92a0 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d y</a>.<a.class="hdr".href="#Zig-
92c0 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 Standard-Library">..</a></h2>...
92e0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 .....<p>.........The.<a.href="ht
9300 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f tps://ziglang.org/documentation/
9320 30 2e 39 2e 30 2f 73 74 64 2f 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 0.9.0/std/">Zig.Standard.Library
9340 3c 2f 61 3e 20 68 61 73 20 69 74 73 20 6f 77 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a </a>.has.its.own.documentation..
9360 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 5a 69 67 ......</p>.......<p>.........Zig
9380 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 20 63 6f 6d 's.Standard.Library.contains.com
93a0 6d 6f 6e 6c 79 20 75 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 73 2c 20 64 61 74 61 20 73 74 72 75 monly.used.algorithms,.data.stru
93c0 63 74 75 72 65 73 2c 20 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 20 ctures,.and.definitions.to.help.
93e0 79 6f 75 20 62 75 69 6c 64 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 72 61 72 69 65 73 2e you.build.programs.or.libraries.
9400 0a 20 20 20 20 20 20 20 20 59 6f 75 20 77 69 6c 6c 20 73 65 65 20 6d 61 6e 79 20 65 78 61 6d 70 .........You.will.see.many.examp
9420 6c 65 73 20 6f 66 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 75 73 les.of.Zig's.Standard.Library.us
9440 65 64 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 20 54 6f 20 6c 65 61 ed.in.this.documentation..To.lea
9460 72 6e 20 6d 6f 72 65 20 61 62 6f 75 74 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c rn.more.about.the.Zig.Standard.L
9480 69 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 76 69 73 69 74 20 74 68 65 20 6c 69 6e 6b 20 61 ibrary,.........visit.the.link.a
94a0 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c bove........</p>...............<
94c0 68 32 20 69 64 3d 22 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 h2.id="Hello-World"><a.href="nav
94e0 2e 78 68 74 6d 6c 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 .xhtml#toc-Hello-World">Hello.Wo
9500 72 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 rld</a>.<a.class="hdr".href="#He
9520 6c 6c 6f 2d 57 6f 72 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 0a 20 20 20 20 20 20 3c llo-World">..</a></h2>.........<
9540 66 69 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
9560 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c p"><cite.class="file">hello.zig<
9580 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
95a0 70 61 6e 20 63 6c 61 73 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
95c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
95e0 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
9600 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
9620 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
9640 61 73 73 3d 22 6c 69 6e 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="
9660 6c 69 6e 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</
9680 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
96a0 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</
96c0 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">
96e0 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
9700 3d 22 6c 69 6e 65 22 3e 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"
9720 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 20 3d 20 73 74 64 2e 69 6f 2e 67 65 >const</span>.stdout.=.std.io.ge
9740 74 53 74 64 4f 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 tStdOut().writer();</span>.<span
9760 20 63 6c 61 73 73 3d 22 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
9780 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 3c ok-kw">try</span>.stdout.print(<
97a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f span.class="tok-str">&quot;Hello
97c0 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 ,.{s}!\n&quot;</span>,..{<span.c
97e0 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 74 3b lass="tok-str">&quot;world&quot;
9800 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 6c </span>});</span>.<span.class="l
9820 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
9840 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
9860 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>
9880 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>
98a0 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 zig.build-exe.hello.zig</kbd></s
98c0 70 61 6e 3e 0a 3c 73 70 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>.
98e0 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 68 65 6c 6c <span.class="line">$.<kbd>./hell
9900 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 6e 65 o</kbd></span>.<span.class="line
9920 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 3c 2f ">Hello,.world!</span>.</samp></
9940 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>.........
9960 54 68 65 20 5a 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 The.Zig.code.sample.above.demons
9980 74 72 61 74 65 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 trates.one.way.to.create.a.progr
99a0 61 6d 20 74 68 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 am.that.will.output:.<samp>Hello
99c0 2c 20 77 6f 72 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 ,.world!</samp>........</p>.....
99e0 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 6c 65 20 73 68 ..<p>.........The.code.sample.sh
9a00 6f 77 73 20 74 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 ows.the.contents.of.a.file.named
9a20 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 7a 69 67 3c 2f 63 .<code.class="file">hello.zig</c
9a40 6f 64 65 3e 2e 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 ode>..Files.storing.Zig.........
9a60 73 6f 75 72 63 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 source.code.are.<a.href="#Source
9a80 2d 45 6e 63 6f 64 69 6e 67 22 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 20 74 65 78 -Encoding">UTF-8.encoded</a>.tex
9aa0 74 20 66 69 6c 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 t.files..The.files.storing......
9ac0 20 20 20 5a 69 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 ...Zig.source.code.are.usually.n
9ae0 61 6d 65 64 20 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 amed.with.the.<code.class="file"
9b00 3e 3c 65 6d 3e 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 ><em>.zig</em></code>.extension.
9b20 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 46 6f .......</p>.......<p>.........Fo
9b40 6c 6c 6f 77 69 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 llowing.the.<code.class="file">h
9b60 65 6c 6c 6f 2e 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 ello.zig</code>.Zig.code.sample,
9b80 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 .the.<a.href="#Zig-Build-System"
9ba0 3e 5a 69 67 20 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 >Zig.Build.System</a>.is.used...
9bc0 20 20 20 20 20 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 ......to.build.an.executable.pro
9be0 67 72 61 6d 20 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 gram.from.the.<code.class="file"
9c00 3e 68 65 6c 6c 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 >hello.zig</code>.source.code..T
9c20 68 65 6e 2c 20 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 hen,.the.........<code.class="fi
9c40 6c 65 22 3e 68 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 le">hello</code>.program.is.exec
9c60 75 74 65 64 20 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 uted.showing.its.output.<samp>He
9c80 6c 6c 6f 2c 20 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 llo,.world!</samp>..The.........
9ca0 6c 69 6e 65 73 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 lines.beginning.with.<samp>$</sa
9cc0 6d 70 3e 20 72 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 mp>.represent.command.line.promp
9ce0 74 73 20 61 6e 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 ts.and.a.command..........Everyt
9d00 68 69 6e 67 20 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 hing.else.is.program.output.....
9d20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f ...</p>.......<p>.........The.co
9d40 64 65 20 73 61 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 de.sample.begins.by.adding.the.<
9d60 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 22 3e 5a a.href="#Zig-Standard-Library">Z
9d80 69 67 20 53 74 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 ig.Standard.Library</a>.to.the.b
9da0 75 69 6c 64 20 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 uild.using.the.<a.href="#import"
9dc0 3e 40 69 6d 70 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 >@import</a>.builtin.function...
9de0 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .......The.<code><span.class="li
9e00 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
9e20 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
9e40 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 73 70 61 6e r">&quot;std&quot;</span>)</span
9e60 3e 3c 2f 63 6f 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 ></code>.function.call.creates.a
9e80 20 73 74 72 75 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 .structure.that.represents.the.Z
9ea0 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 54 68 65 ig.Standard.Library..........The
9ec0 20 63 6f 64 65 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 .code.then.<a.href="#Container-L
9ee0 65 76 65 6c 2d 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 evel-Variables">declares</a>.a..
9f00 20 20 20 20 20 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 .......<a.href="#Assignment">con
9f20 73 74 61 6e 74 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 stant.identifier</a>,.named.<cod
9f40 65 3e 3c 73 70 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 e><span.class="line">std</span><
9f60 2f 63 6f 64 65 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 /code>,.that.gives.access.the.fe
9f80 61 74 75 72 65 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 atures.of.the.Zig.Standard.Libra
9fa0 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 20 20 20 ry........</p>.......<p>........
9fc0 20 4e 65 78 74 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 .Next,.a.<a.href="#Functions">pu
9fe0 62 6c 69 63 20 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 blic.function</a>,.<code><span.c
a000 6c 61 73 73 3d 22 6c 69 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"
a020 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"
a040 3e 66 6e 3c 2f 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 >fn</span></span></code>,.named.
a060 3c 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
a080 70 61 6e 3e 3c 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 pan></code>.........is.declared.
a0a0 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 6d 61 .The.<code><span.class="line">ma
a0c0 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 63 in</span></code>.function.is.nec
a0e0 65 73 73 61 72 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 essary.because.it.tells.the.Zig.
a100 63 6f 6d 70 69 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 compiler.where.the.start.of.....
a120 20 20 20 20 74 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 ....the.program.exists..Programs
a140 20 64 65 73 69 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 .designed.to.be.executed.will.ne
a160 65 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ed.a.<code><span.class="line"><s
a180 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
a1a0 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
a1c0 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 3c 2f 73 an.class="tok-fn">main</span></s
a1e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e pan></code>.function........</p>
a200 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 20 61 72 69 61 2d 6c .......<aside.role="note".aria-l
a220 61 62 65 6c 3d 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 abel="Note.about.main.function">
a240 0a 20 20 20 20 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 .........<p>...........For.more.
a260 61 64 76 61 6e 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 advanced.use.cases,.Zig.offers.o
a280 74 68 65 72 20 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 ther.features.to.inform.the.comp
a2a0 69 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 iler.where.the.start.of.........
a2c0 20 20 74 68 65 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 ..the.program.exists..Also,.libr
a2e0 61 72 69 65 73 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 aries.do.not.need.a.<code><span.
a300 63 6c 61 73 73 3d 22 6c 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
a320 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
a340 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"
a360 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 >main</span></span></code>.funct
a380 69 6f 6e 20 62 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 ion.because...........library.co
a3a0 64 65 20 69 73 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 de.is.called.by.other.programs.o
a3c0 72 20 6c 69 62 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 r.libraries..........</p>.......
a3e0 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 41 20 66 75 6e </aside>.......<p>.........A.fun
a400 63 74 69 6f 6e 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 ction.is.a.block.of.any.number.o
a420 66 20 73 74 61 74 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 f.statements.and.expressions.tha
a440 74 2c 20 61 73 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 t,.as.a.whole,.perform.a.task...
a460 20 20 20 20 20 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 .......Functions.may.or.may.not.
a480 72 65 74 75 72 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 return.data.after.they.are.done.
a4a0 70 65 72 66 6f 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 performing.their.task..If.a.func
a4c0 74 69 6f 6e 0a 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 tion.........cannot.perform.its.
a4e0 74 61 73 6b 2c 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 task,.it.might.return.an.error..
a500 5a 69 67 20 6d 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 Zig.makes.all.of.this.explicit..
a520 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 49 6e 20 ......</p>.......<p>.........In.
a540 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 7a 69 67 the.<code.class="file">hello.zig
a560 3c 2f 63 6f 64 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 </code>.code.sample,.the.<code>m
a580 61 69 6e 3c 2f 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 ain</code>.function.is.declared.
a5a0 20 20 20 20 20 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 ........with.the.<code><span.cla
a5c0 73 73 3d 22 6c 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 ss="line">!<span.class="tok-type
a5e0 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 72 65 74 75 ">void</span></span></code>.retu
a600 72 6e 20 74 79 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 rn.type..This.return.type.is.kno
a620 77 6e 20 61 73 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 wn.as.an.<a.href="#Error-Union-T
a640 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 ype">Error.Union.Type</a>.......
a660 20 20 20 54 68 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 ...This.syntax.tells.the.Zig.com
a680 70 69 6c 65 72 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 piler.that.the.function.will.eit
a6a0 68 65 72 20 72 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 her.return.an.........error.or.a
a6c0 20 76 61 6c 75 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 .value..An.error.union.type.comb
a6e0 69 6e 65 73 20 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 ines.an.<a.href="#Error-Set-Type
a700 22 3e 45 72 72 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 ">Error.Set.Type</a>.and.any.oth
a720 65 72 20 64 61 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 er.data.type.........(e.g..a.<a.
a740 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 href="#Primitive-Types">Primitiv
a760 65 20 54 79 70 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 e.Type</a>.or.a.user-defined.typ
a780 65 20 73 75 63 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 e.such.as.a.<a.href="#struct">st
a7a0 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f ruct</a>,.<a.href="#enum">enum</
a7c0 61 3e 2c 20 6f 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 a>,.or.<a.href="#union">union</a
a7e0 3e 29 2e 0a 20 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 >)..........The.full.form.of.an.
a800 65 72 72 6f 72 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 error.union.type.is.........<cod
a820 65 3e 26 6c 74 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 e>&lt;error.set.type&gt;</code><
a840 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 3e code><span.class="line">!</span>
a860 3c 2f 63 6f 64 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 </code><code>&lt;any.data.type&g
a880 74 3b 3c 2f 63 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 t;</code>..In.the.code.........s
a8a0 61 6d 70 6c 65 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 ample,.the.error.set.type.is.not
a8c0 20 65 78 70 6c 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 .explicitly.written.on.the.left.
a8e0 73 69 64 65 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c side.of.the.<code><span.class="l
a900 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 2e 0a 20 ine">!</span></code>.operator...
a920 20 20 20 20 20 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 .......When.written.this.way,.th
a940 65 20 65 72 72 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 e.error.set.type.is.an.<a.href="
a960 23 49 6e 66 65 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 #Inferred-Error-Sets">inferred.e
a980 72 72 6f 72 20 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 rror.set.type</a>..The.........<
a9a0 63 6f 64 65 3e 3c 73 70 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
a9c0 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 6e ass="tok-type">void</span></span
a9e0 3e 3c 2f 63 6f 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 ></code>.after.the.<code><span.c
aa00 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 20 6f 70 65 72 lass="line">!</span></code>.oper
aa20 61 74 6f 72 0a 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 ator.........tells.the.compiler.
aa40 74 68 61 74 20 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 that.the.function.will.not.retur
aa60 6e 20 61 20 76 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 n.a.value.under.normal.circumsta
aa80 6e 63 65 73 20 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 nces.(i.e..when.no.errors.occur)
aaa0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 61 73 69 64 65 20 72 6f 6c 65 3d 22 ........</p>.......<aside.role="
aac0 6e 6f 74 65 22 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 note".aria-label="Note.to.disamb
aae0 69 67 75 61 74 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 iguate.exclamation.mark.operator
ab00 22 3e 0a 20 20 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 ">.........<p>...........Note.to
ab20 20 65 78 70 65 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 .experienced.programmers:.Zig.al
ab40 73 6f 20 68 61 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 so.has.the.boolean.<a.href="#Ope
ab60 72 61 74 6f 72 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 rators">operator</a>.<code><span
ab80 20 63 6c 61 73 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 .class="line">!a</span></code>..
aba0 20 20 20 20 20 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 .........where.<code><span.class
abc0 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 61 20 76 61 6c ="line">a</span></code>.is.a.val
abe0 75 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 22 6c 69 ue.of.type.<code><span.class="li
ac00 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c ne"><span.class="tok-type">bool<
ac20 2f 73 70 61 6e 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 /span></span></code>..Error.unio
ac40 6e 20 74 79 70 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 n.types.contain.the...........na
ac60 6d 65 20 6f 66 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 me.of.the.type.in.the.syntax:.<c
ac80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c ode><span.class="line">!</span><
aca0 2f 63 6f 64 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 /code><code>&lt;any.data.type&gt
acc0 3b 3c 2f 63 6f 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 ;</code>..........</p>.......</a
ace0 73 69 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 side>.......<p>.........In.Zig,.
ad00 61 20 66 75 6e 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 a.function's.block.of.statements
ad20 20 61 6e 64 20 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 .and.expressions.are.surrounded.
ad40 62 79 20 61 6e 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 by.an.open.curly-brace.<code>{</
ad60 63 6f 64 65 3e 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 code>.and.........close.curly-br
ad80 61 63 65 20 3c 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 ace.<code>}</code>..Inside.of.th
ada0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c e.<code><span.class="line">main<
adc0 2f 73 70 61 6e 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 /span></code>.function.are.expre
ade0 73 73 69 6f 6e 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 ssions.that.perform.........the.
ae00 74 61 73 6b 20 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 task.of.outputting.<samp>Hello,.
ae20 77 6f 72 6c 64 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 world!</samp>.to.standard.output
ae40 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 46 ........</p>.......<p>.........F
ae60 69 72 73 74 2c 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 irst,.a.constant.identifier,.<co
ae80 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 3c 2f 73 70 de><span.class="line">stdout</sp
aea0 61 6e 3e 3c 2f 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 an></code>,.is.initialized.to.re
aec0 70 72 65 73 65 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 present.standard.output's.......
aee0 20 20 77 72 69 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 ..writer..Then,.the.program.trie
af00 73 20 74 6f 20 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 s.to.print.the.<samp>Hello,.worl
af20 64 21 3c 2f 73 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 d!</samp>.........message.to.sta
af40 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ndard.output........</p>.......<
af60 70 3e 0a 20 20 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 p>.........Functions.sometimes.n
af80 65 65 64 20 69 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 eed.information.to.perform.their
afa0 20 74 61 73 6b 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 .task..In.Zig,.information.is.pa
afc0 73 73 65 64 0a 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 ssed.........to.functions.betwee
afe0 6e 20 61 6e 20 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 n.an.open.parenthesis.<code><spa
b000 6e 20 63 6c 61 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 n.class="line">(</span></code>.a
b020 6e 64 20 61 20 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 nd.a.close.parenthesis.<code><sp
b040 61 6e 20 63 6c 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 an.class="line">)</span></code>.
b060 70 6c 61 63 65 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 placed.after.........the.functio
b080 6e 27 73 20 6e 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 n's.name..This.information.is.al
b0a0 73 6f 20 6b 6e 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 so.known.as.arguments..When.ther
b0c0 65 20 61 72 65 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 e.are.........multiple.arguments
b0e0 20 70 61 73 73 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 .passed.to.a.function,.they.are.
b100 73 65 70 61 72 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 separated.by.commas.<code><span.
b120 63 6c 61 73 73 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 class="line">,</span></code>....
b140 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 ....</p>.......<p>.........The.t
b160 77 6f 20 61 72 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 wo.arguments.passed.to.the.<code
b180 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 ><span.class="line">stdout.print
b1a0 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 3c 63 6f 64 65 ()</span></code>.function,.<code
b1c0 3e 3c 73 70 61 6e 20 63 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=
b1e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 "tok-str">&quot;Hello,.{s}!\n&qu
b200 6f 74 3b 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 ot;</span></span></code>........
b220 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 2e 7b .and.<code><span.class="line">.{
b240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c <span.class="tok-str">&quot;worl
b260 64 26 71 75 6f 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 d&quot;</span>}</span></code>,.a
b280 72 65 20 65 76 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 re.evaluated.at.<a.href="#compti
b2a0 6d 65 22 3e 63 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 me">compile-time</a>..The.code.s
b2c0 61 6d 70 6c 65 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 ample.is.........purposely.writt
b2e0 65 6e 20 74 6f 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 en.to.show.how.to.perform.<a.hre
b300 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d f="#String-Literals-and-Unicode-
b320 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 3c 2f 61 3e 0a Code-Point-Literals">string</a>.
b340 20 20 20 20 20 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 ........substitution.in.the.<cod
b360 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e e><span.class="line">print</span
b380 3e 3c 2f 63 6f 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 ></code>.function..The.curly-bra
b3a0 63 65 73 20 69 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 ces.inside.of.the.first.argument
b3c0 0a 20 20 20 20 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 .........are.substituted.with.th
b3e0 65 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 69 6e 73 69 64 e.compile-time.known.value.insid
b400 65 20 6f 66 20 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 e.of.the.second.argument........
b420 20 28 6b 6e 6f 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 .(known.as.an.<a.href="#Anonymou
b440 73 2d 53 74 72 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 s-Struct-Literals">anonymous.str
b460 75 63 74 20 6c 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 uct.literal</a>)..The.<code>\n</
b480 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 69 6e 73 69 64 65 20 6f 66 20 74 68 65 20 64 6f 75 62 code>.........inside.of.the.doub
b4a0 6c 65 2d 71 75 6f 74 65 73 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 le-quotes.of.the.first.argument.
b4c0 69 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 is.the.<a.href="#Escape-Sequence
b4e0 73 22 3e 65 73 63 61 70 65 20 73 65 71 75 65 6e 63 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 0a 20 s">escape.sequence</a>.for.the..
b500 20 20 20 20 20 20 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2e 20 54 68 65 20 3c 61 .......newline.character..The.<a
b520 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 .href="#try">try</a>.expression.
b540 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 evaluates.the.result.of.<code><s
b560 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 3c 2f 73 pan.class="line">stdout.print</s
b580 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 72 65 73 75 pan></code>..........If.the.resu
b5a0 6c 74 20 69 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c lt.is.an.error,.then.the.<code><
b5c0 73 70 61 6e 20 63 6c 61 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
b5e0 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>.
b600 65 78 70 72 65 73 73 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 66 72 6f 6d 0a 20 20 20 20 expression.will.return.from.....
b620 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 6d 61 69 ....<code><span.class="line">mai
b640 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 65 72 72 6f 72 2e 20 n</span></code>.with.the.error..
b660 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 63 6f 6e 74 Otherwise,.the.program.will.cont
b680 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f inue..In.this.case,.there.are.no
b6a0 0a 20 20 20 20 20 20 20 20 6d 6f 72 65 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 72 20 65 78 70 72 .........more.statements.or.expr
b6c0 65 73 73 69 6f 6e 73 20 6c 65 66 74 20 74 6f 20 65 78 65 63 75 74 65 20 69 6e 20 74 68 65 20 3c essions.left.to.execute.in.the.<
b6e0 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
b700 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 74 68 65 20 70 72 6f 67 an></code>.function,.so.the.prog
b720 72 61 6d 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ram.exits........</p>.......<p>.
b740 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 ........In.Zig,.the.standard.out
b760 70 75 74 20 77 72 69 74 65 72 27 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 put.writer's.<code><span.class="
b780 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 line">print</span></code>.functi
b7a0 6f 6e 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 66 61 69 6c 20 62 65 63 61 75 73 65 0a 20 20 on.is.allowed.to.fail.because...
b7c0 20 20 20 20 20 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 66 75 6e 63 74 69 6f 6e 20 ......it.is.actually.a.function.
b7e0 64 65 66 69 6e 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 defined.as.part.of.a.generic.Wri
b800 74 65 72 2e 20 43 6f 6e 73 69 64 65 72 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 74 65 72 20 74 ter..Consider.a.generic.Writer.t
b820 68 61 74 0a 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 73 20 77 72 69 74 69 6e 67 20 64 hat.........represents.writing.d
b840 61 74 61 20 74 6f 20 61 20 66 69 6c 65 2e 20 57 68 65 6e 20 74 68 65 20 64 69 73 6b 20 69 73 20 ata.to.a.file..When.the.disk.is.
b860 66 75 6c 6c 2c 20 61 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 66 full,.a.write.to.the.file.will.f
b880 61 69 6c 2e 0a 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 77 65 20 74 79 70 69 63 61 6c ail..........However,.we.typical
b8a0 6c 79 20 64 6f 20 6e 6f 74 20 65 78 70 65 63 74 20 77 72 69 74 69 6e 67 20 74 65 78 74 20 74 6f ly.do.not.expect.writing.text.to
b8c0 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 74 6f 20 66 61 69 6c 2e 20 54 6f .the.standard.output.to.fail..To
b8e0 20 61 76 6f 69 64 20 68 61 76 69 6e 67 0a 20 20 20 20 20 20 20 20 74 6f 20 68 61 6e 64 6c 65 20 .avoid.having.........to.handle.
b900 74 68 65 20 66 61 69 6c 75 72 65 20 63 61 73 65 20 6f 66 20 70 72 69 6e 74 69 6e 67 20 74 6f 20 the.failure.case.of.printing.to.
b920 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6c 74 standard.output,.you.can.use.alt
b940 65 72 6e 61 74 65 20 66 75 6e 63 74 69 6f 6e 73 3a 20 74 68 65 0a 20 20 20 20 20 20 20 20 66 75 ernate.functions:.the.........fu
b960 6e 63 74 69 6f 6e 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nctions.in.<code><span.class="li
b980 6e 65 22 3e 73 74 64 2e 6c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 70 72 ne">std.log</span></code>.for.pr
b9a0 6f 70 65 72 20 6c 6f 67 67 69 6e 67 20 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 oper.logging.or.the.<code><span.
b9c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 class="line">std.debug.print</sp
b9e0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 54 68 69 an></code>.function..........Thi
ba00 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 6c 61 74 s.documentation.will.use.the.lat
ba20 74 65 72 20 6f 70 74 69 6f 6e 20 74 6f 20 70 72 69 6e 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 ter.option.to.print.to.standard.
ba40 65 72 72 6f 72 20 28 73 74 64 65 72 72 29 20 61 6e 64 20 73 69 6c 65 6e 74 6c 79 20 72 65 74 75 error.(stderr).and.silently.retu
ba60 72 6e 0a 20 20 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 20 6e 65 78 74 20 rn.........on.failure..The.next.
ba80 63 6f 64 65 20 73 61 6d 70 6c 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e code.sample,.<code.class="file">
baa0 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 64 65 6d 6f 6e 73 74 72 61 hello_again.zig</code>.demonstra
bac0 74 65 73 20 74 68 65 20 75 73 65 20 6f 66 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 tes.the.use.of.........<code><sp
bae0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c an.class="line">std.debug.print<
bb00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 /span></code>........</p>.......
bb20 3c 66 69 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
bb40 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 5f 61 67 61 ap"><cite.class="file">hello_aga
bb60 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c in.zig</cite></figcaption><pre><
bb80 63 6f 64 65 3e 3c 73 70 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
bba0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 ass="tok-kw">const</span>.print.
bbc0 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
bbe0 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"
bc00 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 >&quot;std&quot;</span>).debug.p
bc20 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rint;</span>.<span.class="line">
bc40 3c 2f 73 70 61 6e 3e 0a 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
bc60 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
bc80 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.
bca0 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
bcc0 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>.
bce0 7b 3c 2f 73 70 61 6e 3e 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">....
bd00 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
bd20 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 t;Hello,.world!\n&quot;</span>,.
bd40 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">
bd60 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
bd80 69 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
bda0 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
bdc0 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
bde0 75 69 6c 64 2d 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 uild-exe.hello_again.zig</kbd></
be00 73 70 61 6e 3e 0a 3c 73 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>
be20 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 68 65 6c .<span.class="line">$.<kbd>./hel
be40 6c 6f 5f 61 67 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 lo_again</kbd></span>.<span.clas
be60 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 2f s="line">Hello,.world!</span>.</
be80 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
bea0 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6c 65 61 76 65 20 6f 66 66 .....Note.that.you.can.leave.off
bec0 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 21 3c .the.<code><span.class="line">!<
bee0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 /span></code>.from.the.return.ty
bf00 70 65 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 pe.because.<code><span.class="li
bf20 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 63 6f 64 65 ne">std.debug.print</span></code
bf40 3e 20 63 61 6e 6e 6f 74 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 >.cannot.fail........</p>.......
bf60 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
bf80 3d 22 23 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c ="#Values">Values</a></li>.<li><
bfa0 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 a.href="#import">@import</a></li
bfc0 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 2f >.<li><a.href="#Errors">Errors</
bfe0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 a></li>.<li><a.href="#Root-Sourc
c000 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 e-File">Root.Source.File</a></li
c020 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 >.<li><a.href="#Source-Encoding"
c040 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a >Source.Encoding</a></li>.</ul>.
c060 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 6d 65 6e 74 73 22 3e ..............<h2.id="Comments">
c080 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 <a.href="nav.xhtml#toc-Comments"
c0a0 3e 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 >Comments</a>.<a.class="hdr".hre
c0c0 66 3d 22 23 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 f="#Comments">..</a></h2>.......
c0e0 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-
c100 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 6d 6d 65 6e 74 73 cap"><cite.class="file">comments
c120 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
c140 64 65 3e 3c 73 70 61 6e 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
c160 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 s="tok-kw">const</span>.print.=.
c180 3c 73 70 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
c1a0 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">&
c1c0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 quot;std&quot;</span>).debug.pri
c1e0 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f nt;</span>.<span.class="line"></
c200 73 70 61 6e 3e 0a 3c 73 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
c220 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
c240 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
c260 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e ass="tok-fn">main</span>().<span
c280 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>.{<
c2a0 2f 73 70 61 6e 3e 0a 3c 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
c2c0 70 61 6e 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 6d 6d 65 pan.class="tok-comment">//.Comme
c2e0 6e 74 73 20 69 6e 20 5a 69 67 20 73 74 61 72 74 20 77 69 74 68 20 26 71 75 6f 74 3b 2f 2f 26 71 nts.in.Zig.start.with.&quot;//&q
c300 75 6f 74 3b 20 61 6e 64 20 65 6e 64 20 61 74 20 74 68 65 20 6e 65 78 74 20 4c 46 20 62 79 74 65 uot;.and.end.at.the.next.LF.byte
c320 20 28 65 6e 64 20 6f 66 20 6c 69 6e 65 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .(end.of.line).</span></span>.<s
c340 70 61 6e 20 63 6c 61 73 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
c360 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6c 69 6e 65 20 62 65 6c 6f 77 ="tok-comment">//.The.line.below
c380 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 20 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 65 78 65 63 75 .is.a.comment.and.won't.be.execu
c3a0 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 3d 22 ted.</span></span>.<span.class="
c3c0 6c 69 6e 65 22 3e 3c 2f 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"
c3e0 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">/
c400 2f 70 72 69 6e 74 28 26 71 75 6f 74 3b 48 65 6c 6c 6f 3f 26 71 75 6f 74 3b 2c 20 2e 7b 7d 29 3b /print(&quot;Hello?&quot;,..{});
c420 3c 2f 73 70 61 6e 3e 3c 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
c440 22 3e 3c 2f 73 70 61 6e 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">...
c460 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .print(<span.class="tok-str">&qu
c480 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c ot;Hello,.world!\n&quot;</span>,
c4a0 20 2e 7b 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ..{});.<span.class="tok-comment"
c4c0 3e 2f 2f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e >//.another.comment</span></span
c4e0 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
c500 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
c520 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</
c540 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
c560 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 63 6f s="line">$.<kbd>zig.build-exe.co
c580 6d 6d 65 6e 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 20 63 6c mments.zig</kbd></span>.<span.cl
c5a0 61 73 73 3d 22 6c 69 6e 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="
c5c0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 63 6f 6d 6d 65 6e 74 73 3c 2f 6b 62 64 3e 3c 2f 73 line">$.<kbd>./comments</kbd></s
c5e0 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 6c 6f 2c 20 77 pan>.<span.class="line">Hello,.w
c600 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 2f 66 69 67 75 orld!</span>.</samp></pre></figu
c620 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 61 72 65 20 6e 6f re>.......<p>.......There.are.no
c640 20 6d 75 6c 74 69 6c 69 6e 65 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 28 65 2e 67 2e .multiline.comments.in.Zig.(e.g.
c660 20 6c 69 6b 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 2f 2a 20 2a 2f 3c 2f 63 6f 64 .like.<code.class="c">/*.*/</cod
c680 65 3e 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 43 29 2e 20 20 54 68 69 73 20 68 e>.......comments.in.C)...This.h
c6a0 65 6c 70 73 20 61 6c 6c 6f 77 20 5a 69 67 20 74 6f 20 68 61 76 65 20 74 68 65 20 70 72 6f 70 65 elps.allow.Zig.to.have.the.prope
c6c0 72 74 79 20 74 68 61 74 20 65 61 63 68 20 6c 69 6e 65 0a 20 20 20 20 20 20 6f 66 20 63 6f 64 65 rty.that.each.line.......of.code
c6e0 20 63 61 6e 20 62 65 20 74 6f 6b 65 6e 69 7a 65 64 20 6f 75 74 20 6f 66 20 63 6f 6e 74 65 78 74 .can.be.tokenized.out.of.context
c700 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 63 ........</p>.......<h3.id="Doc-c
c720 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d omments"><a.href="nav.xhtml#toc-
c740 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c Doc-comments">Doc.comments</a>.<
c760 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 6f 63 2d 63 6f 6d 6d 65 6e 74 a.class="hdr".href="#Doc-comment
c780 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>.......
c7a0 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 61 74 20 62 65 67 69 6e 73 A.doc.comment.is.one.that.begins
c7c0 20 77 69 74 68 20 65 78 61 63 74 6c 79 20 74 68 72 65 65 20 73 6c 61 73 68 65 73 20 28 69 2e 65 .with.exactly.three.slashes.(i.e
c7e0 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ........<code><span.class="line"
c800 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 3c 2f ><span.class="tok-comment">///</
c820 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 74 20 6e 6f 74 20 3c 63 6f 64 span></span></code>.but.not.<cod
c840 65 3e 3c 73 70 61 6e 20 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
c860 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ="tok-comment">////</span></span
c880 3e 3c 2f 63 6f 64 65 3e 29 3b 0a 20 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 64 6f 63 20 63 6f ></code>);.......multiple.doc.co
c8a0 6d 6d 65 6e 74 73 20 69 6e 20 61 20 72 6f 77 20 61 72 65 20 6d 65 72 67 65 64 20 74 6f 67 65 74 mments.in.a.row.are.merged.toget
c8c0 68 65 72 20 74 6f 20 66 6f 72 6d 20 61 20 6d 75 6c 74 69 6c 69 6e 65 0a 20 20 20 20 20 20 64 6f her.to.form.a.multiline.......do
c8e0 63 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 64 6f 63 75 c.comment...The.doc.comment.docu
c900 6d 65 6e 74 73 20 77 68 61 74 65 76 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 66 6f 6c 6c 6f ments.whatever.immediately.follo
c920 77 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e ws.it........</p>.......<figure>
c940 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
c960 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 6f 63 5f 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c e.class="file">doc_comments.zig<
c980 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
c9a0 70 61 6e 20 63 6c 61 73 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
c9c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 20 73 74 72 75 63 74 75 72 65 20 66 6f 72 20 73 k-comment">///.A.structure.for.s
c9e0 74 6f 72 69 6e 67 20 61 20 74 69 6d 65 73 74 61 6d 70 2c 20 77 69 74 68 20 6e 61 6e 6f 73 65 63 toring.a.timestamp,.with.nanosec
ca00 6f 6e 64 20 70 72 65 63 69 73 69 6f 6e 20 28 74 68 69 73 20 69 73 20 61 3c 2f 73 70 61 6e 3e 3c ond.precision.(this.is.a</span><
ca20 2f 73 70 61 6e 3e 0a 3c 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.
ca40 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6d 75 6c 74 69 6c 69 6e class="tok-comment">///.multilin
ca60 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 e.doc.comment).</span></span>.<s
ca80 70 61 6e 20 63 6c 61 73 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
caa0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 20 3d 20 3c k-kw">const</span>.Timestamp.=.<
cac0 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
cae0 3e 20 7b 3c 2f 73 70 61 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">..
cb00 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">///.
cb20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 74 68 65 20 The.number.of.seconds.since.the.
cb40 65 70 6f 63 68 20 28 74 68 69 73 20 69 73 20 61 6c 73 6f 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e epoch.(this.is.also.a.doc.commen
cb60 74 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 6c t).</span></span>.<span.class="l
cb80 69 6e 65 22 3e 20 20 20 20 73 65 63 6f 6e 64 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ine">....seconds:.<span.class="t
cba0 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 20 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">i64</span>,..<span.clas
cbc0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 67 6e 65 64 20 73 6f 20 77 65 20 s="tok-comment">//.signed.so.we.
cbe0 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 70 72 65 2d 31 39 37 30 20 28 6e 6f 74 20 61 20 64 6f can.represent.pre-1970.(not.a.do
cc00 63 20 63 6f 6d 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 c.comment)</span></span>.<span.c
cc20 6c 61 73 73 3d 22 6c 69 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
cc40 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6e 61 6e 6f -comment">///.The.number.of.nano
cc60 73 65 63 6f 6e 64 73 20 70 61 73 74 20 74 68 65 20 73 65 63 6f 6e 64 20 28 64 6f 63 20 63 6f 6d seconds.past.the.second.(doc.com
cc80 6d 65 6e 74 20 61 67 61 69 6e 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ment.again).</span></span>.<span
cca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6e 6f 73 3a 20 3c 73 70 61 6e 20 63 .class="line">....nanos:.<span.c
ccc0 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
cce0 6e 3e 0a 3c 73 70 61 6e 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
cd00 70 61 6e 20 63 6c 61 73 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
cd20 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 73 20 61 20 60 54 69 ="tok-comment">///.Returns.a.`Ti
cd40 6d 65 73 74 61 6d 70 60 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 mestamp`.struct.representing.the
cd60 20 55 6e 69 78 20 65 70 6f 63 68 3b 20 74 68 61 74 20 69 73 2c 20 74 68 65 3c 2f 73 70 61 6e 3e .Unix.epoch;.that.is,.the</span>
cd80 3c 2f 73 70 61 6e 3e 0a 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">....<
cda0 73 70 61 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 6d 6f 6d span.class="tok-comment">///.mom
cdc0 65 6e 74 20 6f 66 20 31 39 37 30 20 4a 61 6e 20 31 20 30 30 3a 30 30 3a 30 30 20 55 54 43 20 28 ent.of.1970.Jan.1.00:00:00.UTC.(
cde0 74 68 69 73 20 69 73 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 74 6f 6f 29 2e 3c 2f 73 70 61 this.is.a.doc.comment.too).</spa
ce00 6e 3e 3c 2f 73 70 61 6e 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">...
ce20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">pub</span>
ce40 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>.
ce60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 75 6e 69 78 45 70 6f 63 68 3c 2f <span.class="tok-fn">unixEpoch</
ce80 73 70 61 6e 3e 28 29 20 54 69 6d 65 73 74 61 6d 70 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span>().Timestamp.{</span>.<span
cea0 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
cec0 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 54 69 6d 65 73 74 61 s="tok-kw">return</span>.Timesta
cee0 6d 70 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 mp{</span>.<span.class="line">..
cf00 20 20 20 20 20 20 20 20 20 20 2e 73 65 63 6f 6e 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ...........seconds.=.<span.class
cf20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">0</span>,</span>.<
cf40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6e span.class="line">.............n
cf60 61 6e 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e anos.=.<span.class="tok-number">
cf80 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
cfa0 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">........};</span>.<span.clas
cfc0 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
cfe0 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c s="line">};</span></code></pre><
d000 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 6f 63 20 63 6f 6d /figure>.......<p>.......Doc.com
d020 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 69 6e 20 63 65 72 74 61 69 ments.are.only.allowed.in.certai
d040 6e 20 70 6c 61 63 65 73 3b 20 65 76 65 6e 74 75 61 6c 6c 79 2c 20 69 74 20 77 69 6c 6c 0a 20 20 n.places;.eventually,.it.will...
d060 20 20 20 20 62 65 63 6f 6d 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 20 68 61 ....become.a.compile.error.to.ha
d080 76 65 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 6e 20 61 6e 20 75 6e 65 78 70 65 63 74 65 ve.a.doc.comment.in.an.unexpecte
d0a0 64 20 70 6c 61 63 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 6d 69 d.place,.such.as.......in.the.mi
d0c0 64 64 6c 65 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6f 72 20 6a 75 73 74 20 62 ddle.of.an.expression,.or.just.b
d0e0 65 66 6f 72 65 20 61 20 6e 6f 6e 2d 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c efore.a.non-doc.comment........<
d100 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 6f 70 2d 4c 65 76 /p>..............<h3.id="Top-Lev
d120 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 el-Doc-Comments"><a.href="nav.xh
d140 74 6d 6c 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 tml#toc-Top-Level-Doc-Comments">
d160 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
d180 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
d1a0 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
d1c0 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
d1e0 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
d200 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
d220 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.
d240 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
d260 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.....
d280 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
d2a0 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>
d2c0 3c 73 70 61 6e 20 63 6c 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="
d2e0 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></
d300 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
d320 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
d340 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
d360 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
d380 6c 61 73 73 3d 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
d3a0 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
d3c0 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
d3e0 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
d400 20 63 6c 61 73 73 3d 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
d420 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
d440 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.
d460 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
d480 20 63 6c 61 73 73 3d 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
d4a0 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.
d4c0 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
d4e0 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
d500 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>....................
d520 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 6e 61 76 2e 78 68 .<h2.id="Values"><a.href="nav.xh
d540 74 6d 6c 23 74 6f 63 2d 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c tml#toc-Values">Values</a>.<a.cl
d560 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c ass="hdr".href="#Values">..</a><
d580 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.
d5a0 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
d5c0 65 22 3e 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e e">values.zig</cite></figcaption
d5e0 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"><
d600 73 70 61 6e 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 70 2d span.class="tok-comment">//.Top-
d620 6c 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 level.declarations.are.order-ind
d640 65 70 65 6e 64 65 6e 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 ependent:</span></span>.<span.cl
d660 61 73 73 3d 22 6c 69 6e 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">
d680 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 const</span>.print.=.std.debug.p
d6a0 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rint;</span>.<span.class="line">
d6c0 3c 73 70 61 6e 20 63 6c 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
d6e0 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
d700 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
d720 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>);<
d740 2f 73 70 61 6e 3e 0a 3c 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.
d760 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d class="tok-kw">const</span>.os.=
d780 20 73 74 64 2e 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .std.os;</span>.<span.class="lin
d7a0 65 22 3e 3c 73 70 61 6e 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
d7c0 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c pan>.assert.=.std.debug.assert;<
d7e0 2f 73 70 61 6e 3e 0a 3c 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
d800 3e 0a 3c 73 70 61 6e 20 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
d820 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
d840 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=
d860 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
d880 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
d8a0 6e 3e 0a 3c 73 70 61 6e 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.
d8c0 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 74 65 67 65 72 73 3c class="tok-comment">//.integers<
d8e0 2f 73 70 61 6e 3e 3c 2f 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"
d900 3e 20 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<
d920 2f 73 70 61 6e 3e 20 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.one_plus_one:.<span.class
d940 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
d960 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 2b 20 3c 73 70 lass="tok-number">1</span>.+.<sp
d980 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>;<
d9a0 2f 73 70 61 6e 3e 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
d9c0 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;
d9e0 31 20 2b 20 31 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6f 6e 65 1.+.1.=.{}\n&quot;</span>,..{one
da00 5f 70 6c 75 73 5f 6f 6e 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _plus_one});</span>.<span.class=
da20 22 6c 69 6e 65 22 3e 3c 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
da40 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">
da60 2f 2f 20 66 6c 6f 61 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 //.floats</span></span>.<span.cl
da80 61 73 73 3d 22 6c 69 6e 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-
daa0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 kw">const</span>.seven_div_three
dac0 3a 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
dae0 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 37 an>.=.<span.class="tok-number">7
db00 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 2d 6e 75 6d .0</span>./.<span.class="tok-num
db20 62 65 72 22 3e 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 ber">3.0</span>;</span>.<span.cl
db40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">....print(<span.class
db60 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 37 2e 30 20 2f 20 33 2e 30 20 3d 20 7b 7d 5c ="tok-str">&quot;7.0./.3.0.=.{}\
db80 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 n&quot;</span>,..{seven_div_thre
dba0 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 3c e});</span>.<span.class="line"><
dbc0 2f 73 70 61 6e 3e 0a 3c 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
dbe0 70 61 6e 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 6f 6f 6c 65 pan.class="tok-comment">//.boole
dc00 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 an</span></span>.<span.class="li
dc20 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
dc40 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 7b 7d 5c 6e 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 tr">&quot;{}\n{}\n{}\n&quot;</sp
dc60 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 65 an>,..{</span>.<span.class="line
dc80 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 22 ">........<span.class="tok-null"
dca0 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 77 >true</span>.<span.class="tok-kw
dcc0 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ">and</span>.<span.class="tok-nu
dce0 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
dd00 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=
dd20 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-null">true</span>.<span.cla
dd40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">or</span>.<span.clas
dd60 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e s="tok-null">false</span>,</span
dd80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 21 3c 73 >.<span.class="line">........!<s
dda0 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>
ddc0 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">....
dde0 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"></
de00 73 70 61 6e 3e 0a 3c 73 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
de20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e an.class="tok-comment">//.option
de40 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
de60 6e 65 22 3e 20 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
de80 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 5b 5d 3c 73 70 61 6e </span>.optional_value:.?[]<span
dea0 20 63 6c 61 73 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
dec0 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>.=.
dee0 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
df00 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">..
df20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e ..assert(optional_value.==.<span
df40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c .class="tok-null">null</span>);<
df60 2f 73 70 61 6e 3e 0a 3c 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
df80 3e 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(<
dfa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 span.class="tok-str">&quot;\nopt
dfc0 69 6f 6e 61 6c 20 31 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 73 7d 5c 6e ional.1\ntype:.{s}\nvalue:.{s}\n
dfe0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 &quot;</span>,..{</span>.<span.c
e000 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=
e020 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c "tok-builtin">@typeName</span>(<
e040 73 70 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
e060 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 29 2c 3c 2f 73 70 61 6e 3e </span>(optional_value)),</span>
e080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6f 70 74 69 .<span.class="line">........opti
e0a0 6f 6e 61 6c 5f 76 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 onal_value,</span>.<span.class="
e0c0 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....});</span>.<span.class
e0e0 3d 22 6c 69 6e 65 22 3e 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
e100 65 22 3e 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c e">....optional_value.=.<span.cl
e120 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
e140 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">.
e160 20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 ...assert(optional_value.!=.<spa
e180 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 3b n.class="tok-null">null</span>);
e1a0 3c 2f 73 70 61 6e 3e 0a 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
e1c0 6e 3e 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(
e1e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 <span.class="tok-str">&quot;\nop
e200 74 69 6f 6e 61 6c 20 32 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 73 7d 5c tional.2\ntype:.{s}\nvalue:.{s}\
e220 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n&quot;</span>,..{</span>.<span.
e240 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
e260 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@typeName</span>(
e280 3c 73 70 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
e2a0 66 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 29 2c 3c 2f 73 70 61 6e f</span>(optional_value)),</span
e2c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6f 70 74 >.<span.class="line">........opt
e2e0 69 6f 6e 61 6c 5f 76 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ional_value,</span>.<span.class=
e300 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 "line">....});</span>.<span.clas
e320 73 3d 22 6c 69 6e 65 22 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
e340 6e 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
e360 22 3e 2f 2f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ">//.error.union</span></span>.<
e380 73 70 61 6e 20 63 6c 61 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
e3a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 5f 6f 72 5f s="tok-kw">var</span>.number_or_
e3c0 65 72 72 6f 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e error:.<span.class="tok-type">an
e3e0 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 yerror</span>!<span.class="tok-t
e400 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
e420 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 3b ok-kw">error</span>.ArgNotFound;
e440 3c 2f 73 70 61 6e 3e 0a 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
e460 6e 3e 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(
e480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 <span.class="tok-str">&quot;\ner
e4a0 72 6f 72 20 75 6e 69 6f 6e 20 31 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b ror.union.1\ntype:.{s}\nvalue:.{
e4c0 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 }\n&quot;</span>,..{</span>.<spa
e4e0 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
e500 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e ss="tok-builtin">@typeName</span
e520 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 70 >(<span.class="tok-builtin">@Typ
e540 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 29 2c 3c 2f 73 eOf</span>(number_or_error)),</s
e560 70 61 6e 3e 0a 3c 73 70 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">........
e580 6e 75 6d 62 65 72 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 number_or_error,</span>.<span.cl
e5a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ass="line">....});</span>.<span.
e5c0 63 6c 61 73 73 3d 22 6c 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
e5e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 20 3d 20 3c 73 ="line">....number_or_error.=.<s
e600 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
e620 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"></
e640 73 70 61 6e 3e 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
e660 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 5c nt(<span.class="tok-str">&quot;\
e680 6e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 32 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 nerror.union.2\ntype:.{s}\nvalue
e6a0 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 73 70 61 6e 3e 0a 3c :.{}\n&quot;</span>,..{</span>.<
e6c0 73 70 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.
e6e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 class="tok-builtin">@typeName</s
e700 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 40 pan>(<span.class="tok-builtin">@
e720 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 29 2c TypeOf</span>(number_or_error)),
e740 3c 2f 73 70 61 6e 3e 0a 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">.....
e760 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ...number_or_error,</span>.<span
e780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....});</span>.<sp
e7a0 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><
e7c0 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
e7e0 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
e800 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
e820 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 76 61 6c 75 65 73 2e ne">$.<kbd>zig.build-exe.values.
e840 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
e860 6e 65 22 3e 3c 2f 73 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">$
e880 20 3c 6b 62 64 3e 2e 2f 76 61 6c 75 65 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<kbd>./values</kbd></span>.<spa
e8a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 2b 20 31 20 3d 20 32 3c 2f 73 70 61 6e 3e 0a n.class="line">1.+.1.=.2</span>.
e8c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 2e 30 20 2f 20 33 2e 30 20 3d 20 32 <span.class="line">7.0./.3.0.=.2
e8e0 2e 33 33 33 33 33 33 32 35 65 2b 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .33333325e+00</span>.<span.class
e900 3d 22 6c 69 6e 65 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">false</span>.<span.class
e920 3d 22 6c 69 6e 65 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">true</span>.<span.class=
e940 22 6c 69 6e 65 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">false</span>.<span.class=
e960 22 6c 69 6e 65 22 3e 3c 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
e980 22 3e 6f 70 74 69 6f 6e 61 6c 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">optional.1</span>.<span.class=
e9a0 22 6c 69 6e 65 22 3e 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 0a "line">type:.?[]const.u8</span>.
e9c0 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 6e 75 6c 6c 3c 2f <span.class="line">value:.null</
e9e0 73 70 61 6e 3e 0a 3c 73 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>
ea00 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 6c 20 32 3c 2f .<span.class="line">optional.2</
ea20 73 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 70 65 3a 20 3f span>.<span.class="line">type:.?
ea40 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 73 73 3d 22 6c []const.u8</span>.<span.class="l
ea60 69 6e 65 22 3e 76 61 6c 75 65 3a 20 68 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">value:.hi</span>.<span.clas
ea80 73 3d 22 6c 69 6e 65 22 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
eaa0 6e 65 22 3e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ne">error.union.1</span>.<span.c
eac0 6c 61 73 73 3d 22 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 lass="line">type:.anyerror!i32</
eae0 73 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 20 span>.<span.class="line">value:.
eb00 65 72 72 6f 72 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 error.ArgNotFound</span>.<span.c
eb20 6c 61 73 73 3d 22 6c 69 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=
eb40 22 6c 69 6e 65 22 3e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">error.union.2</span>.<spa
eb60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 n.class="line">type:.anyerror!i3
eb80 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 76 61 6c 75 2</span>.<span.class="line">valu
eba0 65 3a 20 31 32 33 34 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 e:.1234</span>.</samp></pre></fi
ebc0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 54 79 gure>.......<h3.id="Primitive-Ty
ebe0 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 50 72 69 6d pes"><a.href="nav.xhtml#toc-Prim
ec00 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 65 73 3c 2f 61 3e itive-Types">Primitive.Types</a>
ec20 20 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 .<a.class="hdr".href="#Primitive
ec40 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 -Types">..</a></h3>........<div.
ec60 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
ec80 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.
eca0 54 79 70 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a Types</caption>.........<thead>.
ecc0 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 ............<tr>.............<th
ece0 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 54 79 70 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 .scope="col">Type</th>..........
ed00 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 43 20 45 71 75 69 76 61 6c 65 6e 74 3c ...<th.scope="col">C.Equivalent<
ed20 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"
ed40 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >Description</th>.........</tr>.
ed60 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e ........</thead>.........<tbody>
ed80 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
eda0 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ope="row"><code><span.class="lin
edc0 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 38 3c 2f 73 70 e"><span.class="tok-type">i8</sp
ede0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 an></span></code></th>..........
ee00 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 38 5f 74 3c 2f 63 6f 64 .<td><code.class="c">int8_t</cod
ee20 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 38 2d 62 e></td>...........<td>signed.8-b
ee40 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 it.integer</td>.........</tr>...
ee60 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
ee80 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">
eea0 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>
eec0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 </span></code></th>...........<t
eee0 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e d><code.class="c">uint8_t</code>
ef00 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 38 2d 62 </td>...........<td>unsigned.8-b
ef20 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 it.integer</td>.........</tr>...
ef40 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
ef60 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">
ef80 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 73 70 61 6e <span.class="tok-type">i16</span
efa0 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>...........<
efc0 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 td><code.class="c">int16_t</code
efe0 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 31 36 2d 62 ></td>...........<td>signed.16-b
f000 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 it.integer</td>.........</tr>...
f020 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
f040 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">
f060 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
f080 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>...........<
f0a0 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 td><code.class="c">uint16_t</cod
f0c0 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 e></td>...........<td>unsigned.1
f0e0 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 6-bit.integer</td>.........</tr>
f100 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
f120 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ope="row"><code><span.class="lin
f140 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 33 32 3c 2f 73 e"><span.class="tok-type">i32</s
f160 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 pan></span></code></th>.........
f180 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 33 32 5f 74 3c 2f 63 ..<td><code.class="c">int32_t</c
f1a0 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 33 ode></td>...........<td>signed.3
f1c0 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 2-bit.integer</td>.........</tr>
f1e0 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
f200 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ope="row"><code><span.class="lin
f220 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 2f 73 e"><span.class="tok-type">u32</s
f240 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 pan></span></code></th>.........
f260 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 33 32 5f 74 3c 2f ..<td><code.class="c">uint32_t</
f280 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 code></td>...........<td>unsigne
f2a0 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f d.32-bit.integer</td>.........</
f2c0 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 tr>.........<tr>.............<th
f2e0 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .scope="row"><code><span.class="
f300 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 36 34 line"><span.class="tok-type">i64
f320 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>......
f340 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 36 34 5f 74 .....<td><code.class="c">int64_t
f360 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 </code></td>...........<td>signe
f380 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f d.64-bit.integer</td>.........</
f3a0 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 tr>.........<tr>.............<th
f3c0 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .scope="row"><code><span.class="
f3e0 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 36 34 line"><span.class="tok-type">u64
f400 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>......
f420 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 36 34 5f .....<td><code.class="c">uint64_
f440 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 t</code></td>...........<td>unsi
f460 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 gned.64-bit.integer</td>........
f480 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>.............
f4a0 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
f4c0 73 3d 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">
f4e0 69 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 i128</span></span></code></th>..
f500 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 5f 5f 69 .........<td><code.class="c">__i
f520 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e nt128</code></td>...........<td>
f540 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 signed.128-bit.integer</td>.....
f560 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>..........
f580 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...<th.scope="row"><code><span.c
f5a0 6c 61 73 73 3d 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
f5c0 65 22 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 e">u128</span></span></code></th
f5e0 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">
f600 75 6e 73 69 67 6e 65 64 20 5f 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 unsigned.__int128</code></td>...
f620 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 ........<td>unsigned.128-bit.int
f640 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>.........
f660 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"
f680 3e 3c 63 6f 64 65 3e 3c 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.
f6a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 class="tok-type">isize</span></s
f6c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c pan></code></th>...........<td><
f6e0 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f code.class="c">intptr_t</code></
f700 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 td>...........<td>signed.pointer
f720 20 73 69 7a 65 64 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 .sized.integer</td>.........</tr
f740 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 >.........<tr>.............<th.s
f760 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 cope="row"><code><span.class="li
f780 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 73 69 7a 65 ne"><span.class="tok-type">usize
f7a0 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>......
f7c0 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 70 74 72 .....<td><code.class="c">uintptr
f7e0 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 _t</code></td>...........<td>uns
f800 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 3e igned.pointer.sized.integer</td>
f820 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 .........</tr>..........<tr>....
f840 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><
f860 73 70 61 6e 20 63 6c 61 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
f880 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ok-type">c_short</span></span></
f8a0 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 code></th>...........<td><code.c
f8c0 6c 61 73 73 3d 22 63 22 3e 73 68 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 lass="c">short</code></td>......
f8e0 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 77 .....<td>for.ABI.compatibility.w
f900 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 20 ith.C</td>.........</tr>........
f920 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
f940 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
f960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f 72 74 3c 2f 73 70 61 6e .class="tok-type">c_ushort</span
f980 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>...........<
f9a0 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 73 68 6f 72 td><code.class="c">unsigned.shor
f9c0 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 t</code></td>...........<td>for.
f9e0 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 ABI.compatibility.with.C</td>...
fa00 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>........
fa20 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
fa40 20 63 6c 61 73 73 3d 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
fa60 79 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 ype">c_int</span></span></code><
fa80 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="
faa0 63 22 3e 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 c">int</code></td>...........<td
fac0 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 >for.ABI.compatibility.with.C</t
fae0 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>...
fb00 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e ..........<th.scope="row"><code>
fb20 3c 73 70 61 6e 20 63 6c 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="
fb40 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f tok-type">c_uint</span></span></
fb60 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 code></th>...........<td><code.c
fb80 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 lass="c">unsigned.int</code></td
fba0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 >...........<td>for.ABI.compatib
fbc0 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a ility.with.C</td>.........</tr>.
fbe0 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f ........<tr>.............<th.sco
fc00 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pe="row"><code><span.class="line
fc20 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c "><span.class="tok-type">c_long<
fc40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 /span></span></code></th>.......
fc60 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 3c 2f 63 6f ....<td><code.class="c">long</co
fc80 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
fca0 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>........
fcc0 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>.............
fce0 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
fd00 73 3d 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">
fd20 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 74 68 c_ulong</span></span></code></th
fd40 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">
fd60 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 unsigned.long</code></td>.......
fd80 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 ....<td>for.ABI.compatibility.wi
fda0 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 th.C</td>.........</tr>.........
fdc0 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"
fde0 3e 3c 63 6f 64 65 3e 3c 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.
fe00 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 class="tok-type">c_longlong</spa
fe20 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>...........
fe40 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 6c 6f 6e 67 3c 2f 63 <td><code.class="c">long.long</c
fe60 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 ode></td>...........<td>for.ABI.
fe80 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 compatibility.with.C</td>.......
fea0 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>............
fec0 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
fee0 73 73 3d 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"
ff00 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 64 65 >c_ulonglong</span></span></code
ff20 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
ff40 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f ="c">unsigned.long.long</code></
ff60 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 td>...........<td>for.ABI.compat
ff80 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 ibility.with.C</td>.........</tr
ffa0 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 >.........<tr>.............<th.s
ffc0 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 cope="row"><code><span.class="li
ffe0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e ne"><span.class="tok-type">c_lon
10000 67 64 6f 75 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 74 68 gdouble</span></span></code></th
10020 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">
10040 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 long.double</code></td>.........
10060 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
10080 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c .C</td>.........</tr>..........<
100a0 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e tr>.............<th.scope="row">
100c0 3c 63 6f 64 65 3e 3c 73 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
100e0 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 3c 2f 73 70 61 6e lass="tok-type">f16</span></span
10100 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 ></code></th>...........<td><cod
10120 65 20 63 6c 61 73 73 3d 22 63 22 3e 5f 46 6c 6f 61 74 31 36 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e e.class="c">_Float16</code></td>
10140 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 31 36 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 ...........<td>16-bit.floating.p
10160 6f 69 6e 74 20 28 31 30 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d oint.(10-bit.mantissa).IEEE-754-
10180 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 2008.binary16</td>.........</tr>
101a0 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
101c0 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ope="row"><code><span.class="lin
101e0 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 33 32 3c 2f 73 e"><span.class="tok-type">f32</s
10200 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 pan></span></code></th>.........
10220 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 66 6c 6f 61 74 3c 2f 63 6f 64 ..<td><code.class="c">float</cod
10240 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 33 32 2d 62 69 74 20 66 6c 6f e></td>...........<td>32-bit.flo
10260 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 32 33 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 ating.point.(23-bit.mantissa).IE
10280 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 33 32 3c 2f 74 64 3e 0a 20 20 20 20 20 20 EE-754-2008.binary32</td>.......
102a0 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>............
102c0 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
102e0 73 73 3d 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"
10300 3e 66 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 >f64</span></span></code></th>..
10320 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 .........<td><code.class="c">dou
10340 62 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 36 34 ble</code></td>...........<td>64
10360 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 35 32 2d 62 69 74 20 6d 61 6e 74 -bit.floating.point.(52-bit.mant
10380 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 36 34 3c 2f 74 64 issa).IEEE-754-2008.binary64</td
103a0 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>....
103c0 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><
103e0 73 70 61 6e 20 63 6c 61 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
10400 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 2f 63 6f 64 ok-type">f128</span></span></cod
10420 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c e></th>.............<td><code.cl
10440 61 73 73 3d 22 63 22 3e 5f 46 6c 6f 61 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 ass="c">_Float128</code></td>...
10460 20 20 20 20 20 20 20 20 3c 74 64 3e 31 32 38 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 ........<td>128-bit.floating.poi
10480 6e 74 20 28 31 31 32 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 nt.(112-bit.mantissa).IEEE-754-2
104a0 30 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 008.binary128</td>.........</tr>
104c0 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
104e0 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ope="row"><code><span.class="lin
10500 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f e"><span.class="tok-type">bool</
10520 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>........
10540 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 62 6f 6f 6c 3c 2f 63 6f 64 ...<td><code.class="c">bool</cod
10560 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 e></td>...........<td><code><spa
10580 6e 20 63 6c 61 73 73 3d 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-
105a0 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 20 null">true</span></span></code>.
105c0 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
105e0 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><
10600 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e /span></code></td>.........</tr>
10620 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
10640 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ope="row"><code><span.class="lin
10660 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 e"><span.class="tok-type">anyopa
10680 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 que</span></span></code></th>...
106a0 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 76 6f 69 64 ........<td><code.class="c">void
106c0 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 55 73 65 64 20 </code></td>...........<td>Used.
106e0 66 6f 72 20 74 79 70 65 2d 65 72 61 73 65 64 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 74 64 3e 0a 20 for.type-erased.pointers.</td>..
10700 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>.......
10720 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
10740 6e 20 63 6c 61 73 73 3d 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-
10760 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c type">void</span></span></code><
10780 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 3e 0a 20 /th>...........<td>(none)</td>..
107a0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 30 20 62 69 74 20 74 79 70 65 3c 2f 74 64 3e 0a 20 20 20 .........<td>0.bit.type</td>....
107c0 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>.........
107e0 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ....<th.scope="row"><code><span.
10800 63 6c 61 73 73 3d 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
10820 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
10840 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 3e ></th>...........<td>(none)</td>
10860 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 ...........<td>the.type.of.<code
10880 3e 3c 73 70 61 6e 20 63 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=
108a0 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
108c0 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 73 de>,.<code><span.class="line"><s
108e0 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
10900 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c n></span></code>,.<code><span.cl
10920 61 73 73 3d 22 6c 69 6e 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">
10940 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 2c 20 3c 63 6f return</span></span></code>,.<co
10960 64 65 3e 3c 73 70 61 6e 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
10980 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 s="tok-kw">unreachable</span></s
109a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 pan></code>,.and.<code><span.cla
109c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 ss="line"><span.class="tok-kw">w
109e0 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 hile</span>.(<span.class="tok-nu
10a00 6c 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 3c 2f 63 6f 64 65 ll">true</span>).{}</span></code
10a20 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 ></td>.........</tr>.........<tr
10a40 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
10a60 6f 64 65 3e 3c 73 70 61 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
10a80 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 61 6e 3e ss="tok-type">type</span></span>
10aa0 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
10ac0 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 )</td>...........<td>the.type.of
10ae0 20 74 79 70 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 .types</td>.........</tr>.......
10b00 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
10b20 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
10b40 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
10b60 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>...........
10b80 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 61 6e <td>(none)</td>...........<td>an
10ba0 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 .error.code</td>.........</tr>..
10bc0 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
10be0 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"
10c00 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
10c20 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 74 68 3e 0a 20 _int</span></span></code></th>..
10c40 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 .........<td>(none)</td>........
10c60 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d ...<td>Only.allowed.for.<a.href=
10c80 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 76 "#comptime">comptime</a>-known.v
10ca0 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 69 6e 74 65 67 65 72 20 6c 69 74 65 72 alues..The.type.of.integer.liter
10cc0 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 20 20 20 20 20 20 20 als.</td>.........</tr>.........
10ce0 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"
10d00 3e 3c 63 6f 64 65 3e 3c 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.
10d20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c class="tok-type">comptime_float<
10d40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 /span></span></code></th>.......
10d60 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 74 ....<td>(none)</td>...........<t
10d80 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d d>Only.allowed.for.<a.href="#com
10da0 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 76 61 6c 75 65 73 ptime">comptime</a>-known.values
10dc0 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 66 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 ..The.type.of.float.literals.</t
10de0 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 d>.........</tr>.........</tbody
10e00 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 >.......</table>.......</div>...
10e20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 ....<p>.......In.addition.to.the
10e40 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 61 62 6f 76 65 2c 20 61 72 62 69 74 72 61 72 79 20 .integer.types.above,.arbitrary.
10e60 62 69 74 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 bit-width.integers.can.be.refere
10e80 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 nced.by.using.......an.identifie
10ea0 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f r.of.<code>i</code>.or.<code>u</
10ec0 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 code>.followed.by.digits..For.ex
10ee0 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 ample,.the.identifier.......<cod
10f00 65 3e 3c 73 70 61 6e 20 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
10f20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ="tok-type">i7</span></span></co
10f40 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 de>.refers.to.a.signed.7-bit.int
10f60 65 67 65 72 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 eger..The.maximum.allowed.bit-wi
10f80 64 74 68 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 dth.of.an.......integer.type.is.
10fa0 3c 63 6f 64 65 3e 3c 73 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
10fc0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-number">65535</span></
10fe0 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>.......<
11000 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=
11020 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 3c 6c "#Integers">Integers</a></li>.<l
11040 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></
11060 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e li>.<li><a.href="#void">void</a>
11080 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 6f </li>.<li><a.href="#Errors">Erro
110a0 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e rs</a></li>.<li><a.href="#Type">
110c0 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 @Type</a></li>.</ul>............
110e0 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 3c 61 20 ...<h3.id="Primitive-Values"><a.
11100 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 61 href="nav.xhtml#toc-Primitive-Va
11120 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 3c 61 20 63 6c lues">Primitive.Values</a>.<a.cl
11140 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 56 61 6c 75 65 ass="hdr".href="#Primitive-Value
11160 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 s">..</a></h3>........<div.class
11180 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a ="table-wrapper">.......<table>.
111a0 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 56 61 6c 75 65 ........<caption>Primitive.Value
111c0 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 s</caption>.........<thead>.....
111e0 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 63 6f ....<tr>...........<th.scope="co
11200 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 73 63 6f 70 65 l">Name</th>...........<th.scope
11220 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 20 20 20 20 20 ="col">Description</th>.........
11240 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c </tr>.........</thead>.........<
11260 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 tbody>.........<tr>.............
11280 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
112a0 73 3d 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">
112c0 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 6e 64 20 3c 63 true</span></span></code>.and.<c
112e0 6f 64 65 3e 3c 73 70 61 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
11300 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
11320 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 74 64 3e 3c 63 ></code></th>.............<td><c
11340 6f 64 65 3e 3c 73 70 61 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
11360 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>
11380 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 20 3c 2f 74 72 </code>.values</td>.........</tr
113a0 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 >.........<tr>.............<th.s
113c0 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 cope="row"><code><span.class="li
113e0 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<
11400 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 /span></span></code></th>.......
11420 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 74 69 6f 6e 61 ......<td>used.to.set.an.optiona
11440 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 3d 22 6c 69 6e l.type.to.<code><span.class="lin
11460 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 2f e"><span.class="tok-null">null</
11480 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 20 20 20 20 20 span></span></code></td>........
114a0 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>.............
114c0 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
114e0 73 3d 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">
11500 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 3c 2f undefined</span></span></code></
11520 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 65 61 76 65 20 th>...........<td>used.to.leave.
11540 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 20 20 20 20 20 a.value.unspecified</td>........
11560 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f .</tr>.........</tbody>.......</
11580 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 table>.......</div>.......<p>See
115a0 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
115c0 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c ionals">Optionals</a></li>.<li><
115e0 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
11600 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 ></li>.</ul>...............<h3.i
11620 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 6f 64 65 2d 43 d="String-Literals-and-Unicode-C
11640 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 3d 22 6e 61 76 ode-Point-Literals"><a.href="nav
11660 2e 78 68 74 6d 6c 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 .xhtml#toc-String-Literals-and-U
11680 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 53 74 72 69 nicode-Code-Point-Literals">Stri
116a0 6e 67 20 4c 69 74 65 72 61 6c 73 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 ng.Literals.and.Unicode.Code.Poi
116c0 6e 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 nt.Literals</a>.<a.class="hdr".h
116e0 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 69 63 6f 64 ref="#String-Literals-and-Unicod
11700 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 e-Code-Point-Literals">..</a></h
11720 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 69 6e 67 20 6c 69 74 65 72 3>........<p>.......String.liter
11740 61 6c 73 20 61 72 65 20 63 6f 6e 73 74 61 6e 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 als.are.constant.single-item.<a.
11760 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f href="#Pointers">Pointers</a>.to
11780 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 62 79 74 65 20 61 72 72 61 79 73 2e 0a 20 20 .null-terminated.byte.arrays....
117a0 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 ....The.type.of.string.literals.
117c0 65 6e 63 6f 64 65 73 20 62 6f 74 68 20 74 68 65 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 74 68 65 encodes.both.the.length,.and.the
117e0 20 66 61 63 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 .fact.that.they.are.null-termina
11800 74 65 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 ted,.......and.thus.they.can.be.
11820 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 <a.href="#Type-Coercion">coerced
11840 3c 2f 61 3e 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 </a>.to.both.<a.href="#Slices">S
11860 6c 69 63 65 73 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 53 65 lices</a>.and.......<a.href="#Se
11880 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 4e 75 6c 6c ntinel-Terminated-Pointers">Null
118a0 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 -Terminated.Pointers</a>........
118c0 44 65 72 65 66 65 72 65 6e 63 69 6e 67 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 63 6f Dereferencing.string.literals.co
118e0 6e 76 65 72 74 73 20 74 68 65 6d 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 nverts.them.to.<a.href="#Arrays"
11900 3e 41 72 72 61 79 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 >Arrays</a>........</p>.......<p
11920 3e 0a 20 20 20 20 20 20 54 68 65 20 65 6e 63 6f 64 69 6e 67 20 6f 66 20 61 20 73 74 72 69 6e 67 >.......The.encoding.of.a.string
11940 20 69 6e 20 5a 69 67 20 69 73 20 64 65 2d 66 61 63 74 6f 20 61 73 73 75 6d 65 64 20 74 6f 20 62 .in.Zig.is.de-facto.assumed.to.b
11960 65 20 55 54 46 2d 38 2e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 5a 69 67 20 73 6f 75 72 63 e.UTF-8........Because.Zig.sourc
11980 65 20 63 6f 64 65 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 e.code.is.<a.href="#Source-Encod
119a0 69 6e 67 22 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 2c 20 61 6e 79 20 6e 6f 6e 2d ing">UTF-8.encoded</a>,.any.non-
119c0 41 53 43 49 49 20 62 79 74 65 73 20 61 70 70 65 61 72 69 6e 67 20 77 69 74 68 69 6e 20 61 20 73 ASCII.bytes.appearing.within.a.s
119e0 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 69 6e 20 73 6f 75 72 63 65 20 63 6f tring.literal.......in.source.co
11a00 64 65 20 63 61 72 72 79 20 74 68 65 69 72 20 55 54 46 2d 38 20 6d 65 61 6e 69 6e 67 20 69 6e 74 de.carry.their.UTF-8.meaning.int
11a20 6f 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 o.the.content.of.the.string.in.t
11a40 68 65 20 5a 69 67 20 70 72 6f 67 72 61 6d 3b 0a 20 20 20 20 20 20 74 68 65 20 62 79 74 65 73 20 he.Zig.program;.......the.bytes.
11a60 61 72 65 20 6e 6f 74 20 6d 6f 64 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 are.not.modified.by.the.compiler
11a80 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 ........However,.it.is.possible.
11aa0 74 6f 20 65 6d 62 65 64 20 6e 6f 6e 2d 55 54 46 2d 38 20 62 79 74 65 73 20 69 6e 74 6f 20 61 20 to.embed.non-UTF-8.bytes.into.a.
11ac0 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 5c 78 4e 4e 3c string.literal.using.<code>\xNN<
11ae0 2f 63 6f 64 65 3e 20 6e 6f 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 /code>.notation........</p>.....
11b00 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c ..<p>.......Unicode.code.point.l
11b20 69 74 65 72 61 6c 73 20 68 61 76 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c iterals.have.type.<code><span.cl
11b40 61 73 73 3d 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
11b60 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
11b80 64 65 3e 2c 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 de>,.the.same.as.......<a.href="
11ba0 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 #Integer-Literals">Integer.Liter
11bc0 61 6c 73 3c 2f 61 3e 2e 20 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 als</a>..All.<a.href="#Escape-Se
11be0 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 20 61 72 quences">Escape.Sequences</a>.ar
11c00 65 20 76 61 6c 69 64 20 69 6e 20 62 6f 74 68 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a e.valid.in.both.string.literals.
11c20 20 20 20 20 20 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 ......and.Unicode.code.point.lit
11c40 65 72 61 6c 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 erals........</p>.......<p>.....
11c60 20 20 49 6e 20 6d 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 ..In.many.other.programming.lang
11c80 75 61 67 65 73 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 uages,.a.Unicode.code.point.lite
11ca0 72 61 6c 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 63 68 61 72 61 63 74 65 72 20 6c 69 74 65 72 ral.is.called.a."character.liter
11cc0 61 6c 22 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 69 73 20 3c 61 20 al"........However,.there.is.<a.
11ce0 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 75 6e 69 63 6f 64 65 2e 6f 72 67 2f 67 6c 6f 73 73 61 href="https://unicode.org/glossa
11d00 72 79 22 3e 6e 6f 20 70 72 65 63 69 73 65 20 74 65 63 68 6e 69 63 61 6c 20 64 65 66 69 6e 69 74 ry">no.precise.technical.definit
11d20 69 6f 6e 20 6f 66 20 61 20 22 63 68 61 72 61 63 74 65 72 22 3c 2f 61 3e 0a 20 20 20 20 20 20 69 ion.of.a."character"</a>.......i
11d40 6e 20 72 65 63 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 55 6e 69 63 6f 64 65 n.recent.versions.of.the.Unicode
11d60 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 28 61 73 20 6f 66 20 55 6e 69 63 6f 64 65 20 31 33 .specification.(as.of.Unicode.13
11d80 2e 30 29 2e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 .0)........In.Zig,.a.Unicode.cod
11da0 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 e.point.literal.corresponds.to.t
11dc0 68 65 20 55 6e 69 63 6f 64 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 20 63 6f 64 65 20 he.Unicode.definition.of.a.code.
11de0 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e point........</p>.......<figure>
11e00 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
11e20 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a e.class="file">string_literals.z
11e40 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
11e60 3e 3c 73 70 61 6e 20 63 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=
11e80 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
11ea0 70 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<
11ec0 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
11ee0 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
11f00 3b 3c 2f 73 70 61 6e 3e 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
11f20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 n.class="tok-kw">const</span>.me
11f40 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 m.=.<span.class="tok-builtin">@i
11f60 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
11f80 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 20 r">&quot;std&quot;</span>).mem;.
11fa0 3c 73 70 61 6e 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 <span.class="tok-comment">//.wil
11fc0 6c 20 62 65 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 79 74 65 73 3c 2f 73 70 61 6e l.be.used.to.compare.bytes</span
11fe0 3e 3c 2f 73 70 61 6e 3e 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
12000 61 6e 3e 0a 3c 73 70 61 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
12020 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
12040 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
12060 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 s="tok-fn">main</span>().<span.c
12080 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
120a0 70 61 6e 3e 0a 3c 73 70 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
120c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 n.class="tok-kw">const</span>.by
120e0 74 65 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f tes.=.<span.class="tok-str">&quo
12100 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 t;hello&quot;</span>;</span>.<sp
12120 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.
12140 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 73 7d 5c 6e 26 71 75 6f 74 class="tok-str">&quot;{s}\n&quot
12160 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
12180 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
121a0 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>(
121c0 62 79 74 65 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 bytes))});.......<span.class="to
121e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 3c 2f 73 70 k-comment">//.*const.[5:0]u8</sp
12200 61 6e 3e 3c 2f 73 70 61 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">..
12220 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 ..print(<span.class="tok-str">&q
12240 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 2e uot;{d}\n&quot;</span>,..{bytes.
12260 6c 65 6e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 len});.......................<sp
12280 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 35 3c 2f 73 70 61 an.class="tok-comment">//.5</spa
122a0 6e 3e 3c 2f 73 70 61 6e 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">...
122c0 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .print(<span.class="tok-str">&qu
122e0 6f 74 3b 7b 63 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b 3c ot;{c}\n&quot;</span>,..{bytes[<
12300 73 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>
12320 5d 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ]});........................<spa
12340 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 27 65 27 3c 2f 73 70 n.class="tok-comment">//.'e'</sp
12360 61 6e 3e 3c 2f 73 70 61 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">..
12380 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 ..print(<span.class="tok-str">&q
123a0 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b uot;{d}\n&quot;</span>,..{bytes[
123c0 3c 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
123e0 3e 5d 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 >]});........................<sp
12400 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 30 3c 2f 73 70 61 an.class="tok-comment">//.0</spa
12420 6e 3e 3c 2f 73 70 61 6e 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">...
12440 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .print(<span.class="tok-str">&qu
12460 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c ot;{}\n&quot;</span>,..{<span.cl
12480 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 ass="tok-str">'e'</span>.==.<spa
124a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 78 36 35 27 3c 2f 73 70 61 6e 3e 7d n.class="tok-str">'\x65'</span>}
124c0 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 );....................<span.clas
124e0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f s="tok-comment">//.true</span></
12500 73 70 61 6e 3e 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
12520 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;{
12540 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 d}\n&quot;</span>,..{<span.class
12560 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 75 7b 31 66 34 61 39 7d 27 3c 2f 73 70 61 6e 3e 7d 29 3b ="tok-str">'\u{1f4a9}'</span>});
12580 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
125a0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 38 31 36 39 3c 2f 73 70 61 6e 3e 3c ="tok-comment">//.128169</span><
125c0 2f 73 70 61 6e 3e 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
125e0 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;
12600 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 {d}\n&quot;</span>,..{<span.clas
12620 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 f0 9f 92 af 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 s="tok-str">'....'</span>});....
12640 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
12660 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 38 31 37 35 3c 2f 73 70 61 ass="tok-comment">//.128175</spa
12680 6e 3e 3c 2f 73 70 61 6e 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">...
126a0 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .print(<span.class="tok-str">&qu
126c0 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 65 6d 2e 65 71 6c 28 ot;{}\n&quot;</span>,..{mem.eql(
126e0 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>
12700 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
12720 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 llo&quot;</span>,.<span.class="t
12740 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 5c 78 36 35 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 ok-str">&quot;h\x65llo&quot;</sp
12760 61 6e 3e 29 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>)});.<span.class="tok-comment
12780 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">//.true</span></span>.<span.cl
127a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">....print(<span.class
127c0 3d 22 74 6f 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 ="tok-str">&quot;0x{x}\n&quot;</
127e0 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 span>,..{<span.class="tok-str">&
12800 71 75 6f 74 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 quot;\xff&quot;</span>[<span.cla
12820 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 ss="tok-number">0</span>]});.<sp
12840 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 6e 2d 55 54 an.class="tok-comment">//.non-UT
12860 46 2d 38 20 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 F-8.strings.are.possible.with.\x
12880 4e 4e 20 6e 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 NN.notation.</span></span>.<span
128a0 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 6c .class="line">....print(<span.cl
128c0 61 73 73 3d 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 ass="tok-str">&quot;{u}\n&quot;<
128e0 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 73 74 72 22 3e /span>,..{<span.class="tok-str">
12900 27 e2 9a a1 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 '...'</span>});</span>.<span.cla
12920 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><
12940 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
12960 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>
12980 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">$.
129a0 3c 6b 62 64 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 <kbd>zig.build-exe.string_litera
129c0 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 73 73 3d ls.zig</kbd></span>.<span.class=
129e0 22 6c 69 6e 65 22 3e 3c 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
12a00 22 3e 24 20 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 ">$.<kbd>./string_literals</kbd>
12a20 3c 2f 73 70 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 </span>.<span.class="line">*cons
12a40 74 20 5b 35 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 t.[5:0]u8</span>.<span.class="li
12a60 6e 65 22 3e 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 ne">5</span>.<span.class="line">
12a80 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 30 3c 2f 73 e</span>.<span.class="line">0</s
12aa0 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 72 75 65 3c 2f 73 70 pan>.<span.class="line">true</sp
12ac0 61 6e 3e 0a 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 an>.<span.class="line">128169</s
12ae0 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 32 38 31 37 35 3c 2f pan>.<span.class="line">128175</
12b00 73 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 72 75 65 3c 2f 73 span>.<span.class="line">true</s
12b20 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 78 66 66 3c 2f 73 70 pan>.<span.class="line">0xff</sp
12b40 61 6e 3e 0a 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 an>.<span.class="line">...</span
12b60 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>.......<
12b80 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=
12ba0 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 3c 6c 69 3e 3c 61 "#Arrays">Arrays</a></li>.<li><a
12bc0 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 63 65 20 .href="#Source-Encoding">Source.
12be0 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 20 20 3c Encoding</a></li>.</ul>........<
12c00 68 34 20 69 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 h4.id="Escape-Sequences"><a.href
12c20 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 ="nav.xhtml#toc-Escape-Sequences
12c40 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ">Escape.Sequences</a>.<a.class=
12c60 22 68 64 72 22 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 c2 "hdr".href="#Escape-Sequences">.
12c80 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 .</a></h4>........<div.class="ta
12ca0 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 ble-wrapper">.......<table>.....
12cc0 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 63 ....<caption>Escape.Sequences</c
12ce0 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 aption>.........<thead>.........
12d00 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 63 6f 6c 22 3e 45 <tr>...........<th.scope="col">E
12d20 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 scape.Sequence</th>...........<t
12d40 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 h.scope="col">Name</th>.........
12d60 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c </tr>.........</thead>.........<
12d80 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 tbody>.........<tr>.............
12da0 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e 3c <th.scope="row"><code>\n</code><
12dc0 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 65 77 6c 69 6e 65 3c 2f 74 64 3e 0a /th>...........<td>Newline</td>.
12de0 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>......
12e00 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 72 3c .......<th.scope="row"><code>\r<
12e20 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 43 61 72 72 69 61 /code></th>...........<td>Carria
12e40 67 65 20 52 65 74 75 72 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 ge.Return</td>.........</tr>....
12e60 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=
12e80 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 74 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 "row"><code>\t</code></th>......
12ea0 20 20 20 20 20 3c 74 64 3e 54 61 62 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a .....<td>Tab</td>.........</tr>.
12ec0 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f ........<tr>.............<th.sco
12ee0 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 5c 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 pe="row"><code>\\</code></th>...
12f00 20 20 20 20 20 20 20 20 3c 74 64 3e 42 61 63 6b 73 6c 61 73 68 3c 2f 74 64 3e 0a 20 20 20 20 20 ........<td>Backslash</td>......
12f20 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>...........
12f40 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 27 3c 2f 63 6f 64 65 ..<th.scope="row"><code>\'</code
12f60 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 69 6e 67 6c 65 20 51 75 6f 74 ></th>...........<td>Single.Quot
12f80 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 e</td>.........</tr>.........<tr
12fa0 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
12fc0 6f 64 65 3e 5c 22 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 ode>\"</code></th>...........<td
12fe0 3e 44 6f 75 62 6c 65 20 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e >Double.Quote</td>.........</tr>
13000 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
13020 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e ope="row"><code>\xNN</code></th>
13040 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 38 2d 62 69 74 ...........<td>hexadecimal.8-bit
13060 20 62 79 74 65 20 76 61 6c 75 65 20 28 32 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 .byte.value.(2.digits)</td>.....
13080 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>..........
130a0 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 75 7b 4e 4e 4e 4e ...<th.scope="row"><code>\u{NNNN
130c0 4e 4e 7d 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 68 65 NN}</code></th>...........<td>he
130e0 78 61 64 65 63 69 6d 61 6c 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 54 46 xadecimal.Unicode.code.point.UTF
13100 2d 38 20 65 6e 63 6f 64 65 64 20 28 31 20 6f 72 20 6d 6f 72 65 20 64 69 67 69 74 73 29 3c 2f 74 -8.encoded.(1.or.more.digits)</t
13120 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 d>.........</tr>.........</tbody
13140 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 >.......</table>.......</div>...
13160 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c ....<p>Note.that.the.maximum.val
13180 69 64 20 55 6e 69 63 6f 64 65 20 70 6f 69 6e 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 id.Unicode.point.is.<code><span.
131a0 63 6c 61 73 73 3d 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
131c0 6d 62 65 72 22 3e 30 78 31 30 66 66 66 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f mber">0x10ffff</span></span></co
131e0 64 65 3e 2e 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 4d 75 de>.</p>..............<h4.id="Mu
13200 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 ltiline-String-Literals"><a.href
13220 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 ="nav.xhtml#toc-Multiline-String
13240 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
13260 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 22 23 4d rals</a>.<a.class="hdr".href="#M
13280 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 3e c2 a7 3c 2f 61 3e ultiline-String-Literals">..</a>
132a0 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 6c 74 69 6c 69 6e 65 </h4>........<p>.......Multiline
132c0 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 6e 6f 20 65 73 63 61 70 65 73 .string.literals.have.no.escapes
132e0 20 61 6e 64 20 63 61 6e 20 73 70 61 6e 20 61 63 72 6f 73 73 20 6d 75 6c 74 69 70 6c 65 20 6c 69 .and.can.span.across.multiple.li
13300 6e 65 73 2e 0a 20 20 20 20 20 20 54 6f 20 73 74 61 72 74 20 61 20 6d 75 6c 74 69 6c 69 6e 65 20 nes........To.start.a.multiline.
13320 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 string.literal,.use.the.<code><s
13340 70 61 6e 20 63 6c 61 73 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
13360 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 k-str">\\</span></span></code>.t
13380 6f 6b 65 6e 2e 20 4a 75 73 74 20 6c 69 6b 65 20 61 20 63 6f 6d 6d 65 6e 74 2c 0a 20 20 20 20 20 oken..Just.like.a.comment,......
133a0 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 67 6f 65 73 20 75 6e 74 69 6c 20 74 .the.string.literal.goes.until.t
133c0 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 54 68 65 20 65 6e 64 20 6f 66 20 74 he.end.of.the.line..The.end.of.t
133e0 68 65 20 6c 69 6e 65 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e he.line.is.......not.included.in
13400 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 .the.string.literal........Howev
13420 65 72 2c 20 69 66 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 62 65 67 69 6e 73 20 77 69 74 68 er,.if.the.next.line.begins.with
13440 20 3c 63 6f 64 65 3e 3c 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.
13460 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 3e class="tok-str">\\</span></span>
13480 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 61 20 6e 65 77 6c 69 6e 65 20 69 73 20 61 70 70 65 6e 64 </code>.then.a.newline.is.append
134a0 65 64 20 61 6e 64 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 ed.and.......the.string.literal.
134c0 63 6f 6e 74 69 6e 75 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 continues........</p>.......<fig
134e0 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">
13500 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 6c 74 69 6c 69 6e 65 5f 73 74 72 <cite.class="file">multiline_str
13520 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 ing_literals.zig</cite></figcapt
13540 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
13560 22 3e 3c 73 70 61 6e 20 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
13580 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 5f 69 6e 5f 63 20 3d 3c 2f 73 70 61 6e 3e 0a 3c 73 an>.hello_world_in_c.=</span>.<s
135a0 70 61 6e 20 63 6c 61 73 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
135c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e ="tok-str">\\#include.&lt;stdio.
135e0 68 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 6c 61 73 73 3d h&gt;</span></span>.<span.class=
13600 22 6c 69 6e 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 74 72 22 "line">....<span.class="tok-str"
13620 3e 5c 5c 3c 2f 73 70 61 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
13640 69 6e 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 74 72 22 3e 5c ine">....<span.class="tok-str">\
13660 5c 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)
13680 20 7b 3c 2f 73 70 61 6e 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
136a0 6e 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 74 72 22 3e 5c 5c ne">....<span.class="tok-str">\\
136c0 20 20 20 20 70 72 69 6e 74 66 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 ....printf(&quot;hello.world\n&q
136e0 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;);</span></span>.<span.class
13700 3d 22 6c 69 6e 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 74 72 ="line">....<span.class="tok-str
13720 22 3e 5c 5c 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ">\\....return.0;</span></span>.
13740 3c 73 70 61 6e 20 63 6c 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
13760 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 7d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ss="tok-str">\\}</span></span>.<
13780 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">;</span></code
137a0 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
137c0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 so:</p><ul>.<li><a.href="#embedF
137e0 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a ile">@embedFile</a></li>.</ul>..
13800 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 73 73 69 ....................<h3.id="Assi
13820 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 gnment"><a.href="nav.xhtml#toc-A
13840 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 61 ssignment">Assignment</a>.<a.cla
13860 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 2f ss="hdr".href="#Assignment">..</
13880 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 3e a></h3>........<p>Use.the.<code>
138a0 3c 73 70 61 6e 20 63 6c 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="
138c0 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
138e0 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 20 e>.keyword.to.assign.a.value.to.
13900 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 65 an.identifier:</p>.......<figure
13920 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
13940 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 66 te.class="file">constant_identif
13960 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 69 ier_cannot_change.zig</cite></fi
13980 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=
139a0 22 6c 69 6e 65 22 3e 3c 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
139c0 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 75 t</span>.x.=.<span.class="tok-nu
139e0 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 20 mber">1234</span>;</span>.<span.
13a00 63 6c 61 73 73 3d 22 6c 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
13a20 3d 22 6c 69 6e 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<
13a40 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<
13a60 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">
13a80 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
13aa0 3d 22 6c 69 6e 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
13ac0 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 6f 72 6b 73 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 20 ment">//.It.works.at.file.scope.
13ae0 61 73 20 77 65 6c 6c 20 61 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 73 70 as.well.as.inside.functions.</sp
13b00 61 6e 3e 3c 2f 73 70 61 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">..
13b20 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
13b40 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 22 an>.y.=.<span.class="tok-number"
13b60 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
13b80 3d 22 6c 69 6e 65 22 3e 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
13ba0 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"
13bc0 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 72 >//.Once.assigned,.an.identifier
13be0 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 6e .cannot.be.changed.</span></span
13c00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 >.<span.class="line">....y.+=.<s
13c20 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>;
13c40 3c 2f 73 70 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
13c60 61 6e 3e 0a 3c 73 70 61 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>.<
13c80 73 70 61 6e 20 63 6c 61 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
13ca0 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
13cc0 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
13ce0 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=
13d00 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>.
13d20 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 73 <span.class="line">....foo();</s
13d40 70 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>
13d60 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
13d80 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
13da0 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
13dc0 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 65 lass="line">$.<kbd>zig.build-exe
13de0 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 6e .constant_identifier_cannot_chan
13e00 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 3d ge.zig</kbd></span>.<span.class=
13e20 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
13e40 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 6f en_tmp/constant_identifier_canno
13e60 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 63 t_change.zig:8:7:.</span><span.c
13e80 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
13ea0 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 63 .class="t0_1">cannot.assign.to.c
13ec0 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 73 onstant</span></span>.<span.clas
13ee0 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 61 s="line">....y.+=.1;</span>.<spa
13f00 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 73 n.class="line">......<span.class
13f20 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>
13f40 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 3c </pre></figure>.......<p><code><
13f60 73 70 61 6e 20 63 6c 61 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
13f80 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">const</span></span></code
13fa0 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 68 >.applies.to.all.of.the.bytes.th
13fc0 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 64 at.the.identifier.immediately.ad
13fe0 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 69 dresses..<a.href="#Pointers">Poi
14000 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 6e nters</a>.have.their.own.const-n
14020 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 20 ess.</p>.......<p>If.you.need.a.
14040 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 73 variable.that.you.can.modify,.us
14060 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 3c e.the.<code><span.class="line"><
14080 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 2f span.class="tok-kw">var</span></
140a0 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 20 span></code>.keyword:</p>.......
140c0 3c 66 69 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
140e0 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 76 ap"><cite.class="file">mutable_v
14100 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 3c ar.zig</cite></figcaption><pre><
14120 63 6f 64 65 3e 3c 73 70 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
14140 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 ass="tok-kw">const</span>.print.
14160 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
14180 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"
141a0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 >&quot;std&quot;</span>).debug.p
141c0 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rint;</span>.<span.class="line">
141e0 3c 2f 73 70 61 6e 3e 0a 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
14200 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
14220 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.
14240 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
14260 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>.
14280 7b 3c 2f 73 70 61 6e 3e 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">....
142a0 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>.
142c0 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 73 y:.<span.class="tok-type">i32</s
142e0 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">
14300 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 5678</span>;</span>.<span.class=
14320 22 6c 69 6e 65 22 3e 3c 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
14340 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 62 ">....y.+=.<span.class="tok-numb
14360 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
14380 3d 22 6c 69 6e 65 22 3e 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
143a0 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 e">....print(<span.class="tok-st
143c0 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 29 r">&quot;{d}&quot;</span>,..{y})
143e0 3b 3c 2f 73 70 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
14400 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
14420 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">
14440 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
14460 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
14480 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 6e -exe.mutable_var.zig</kbd></span
144a0 3e 0a 3c 73 70 61 6e 20 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
144c0 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 65 an.class="line">$.<kbd>./mutable
144e0 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 6c _var</kbd></span>.<span.class="l
14500 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 2f ine">5679</span>.</samp></pre></
14520 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 20 figure>.......<p>Variables.must.
14540 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 72 be.initialized:</p>.......<figur
14560 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
14580 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 69 ite.class="file">var_must_be_ini
145a0 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 3e tialized.zig</cite></figcaption>
145c0 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
145e0 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
14600 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
14620 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>().
14640 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
14660 6e 3e 20 7b 3c 2f 73 70 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">.
14680 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
146a0 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
146c0 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
146e0 65 22 3e 3c 2f 73 70 61 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">..
14700 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 31 ..x.=.<span.class="tok-number">1
14720 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
14740 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
14760 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
14780 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
147a0 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
147c0 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 69 g.build-exe.var_must_be_initiali
147e0 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 73 zed.zig</kbd></span>.<span.class
14800 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 65 ="line"><span.class="t1_0">docge
14820 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 69 n_tmp/var_must_be_initialized.zi
14840 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 31 g:2:5:.</span><span.class="t31_1
14860 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 30 ">error:</span><span.class="t1_0
14880 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 64 ">.variables.must.be.initialized
148a0 3c 2f 73 70 61 6e 3e 0a 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
148c0 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 63 n>....var.x:.i32;</span>.<span.c
148e0 6c 61 73 73 3d 22 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
14900 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 3e _1">^</span>.<span.class="line">
14920 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
14940 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 3c gure>.......<h4.id="undefined"><
14960 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 a.href="nav.xhtml#toc-undefined"
14980 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >undefined</a>.<a.class="hdr".hr
149a0 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 ef="#undefined">..</a></h4>.....
149c0 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ...<p>Use.<code><span.class="lin
149e0 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 69 e"><span.class="tok-null">undefi
14a00 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6c 65 61 76 ned</span></span></code>.to.leav
14a20 65 20 76 61 72 69 61 62 6c 65 73 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 e.variables.uninitialized:</p>..
14a40 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="
14a60 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 73 69 zig-cap"><cite.class="file">assi
14a80 67 6e 5f 75 6e 64 65 66 69 6e 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 gn_undefined.zig</cite></figcapt
14aa0 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
14ac0 22 3e 3c 73 70 61 6e 20 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
14ae0 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 an>.print.=.<span.class="tok-bui
14b00 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
14b20 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
14b40 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >).debug.print;</span>.<span.cla
14b60 73 73 3d 22 6c 69 6e 65 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
14b80 69 6e 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
14ba0 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
14bc0 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
14be0 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>().<span.class="tok-type">vo
14c00 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="
14c20 6c 69 6e 65 22 3e 20 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
14c40 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ar</span>.x:.<span.class="tok-ty
14c60 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
14c80 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 3e k-null">undefined</span>;</span>
14ca0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 3d 20 3c 73 70 61 .<span.class="line">....x.=.<spa
14cc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f n.class="tok-number">1</span>;</
14ce0 73 70 61 6e 3e 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
14d00 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;{
14d20 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c d}&quot;</span>,..{x});</span>.<
14d40 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
14d60 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
14d80 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
14da0 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="
14dc0 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 61 73 73 69 67 line">$.<kbd>zig.build-exe.assig
14de0 6e 5f 75 6e 64 65 66 69 6e 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n_undefined.zig</kbd></span>.<sp
14e00 61 6e 20 63 6c 61 73 73 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
14e20 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 61 73 73 69 67 6e 5f 75 6e 64 65 66 ass="line">$.<kbd>./assign_undef
14e40 69 6e 65 64 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 ined</kbd></span>.<span.class="l
14e60 69 6e 65 22 3e 31 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 ine">1</span>.</samp></pre></fig
14e80 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ure>.......<p>.......<code><span
14ea0 20 63 6c 61 73 73 3d 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
14ec0 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
14ee0 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 69 de>.can.be.<a.href="#Type-Coerci
14f00 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 on">coerced</a>.to.any.type.....
14f20 20 20 20 20 20 20 20 4f 6e 63 65 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 20 69 74 20 69 73 20 .......Once.this.happens,.it.is.
14f40 6e 6f 20 6c 6f 6e 67 65 72 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 74 68 61 no.longer.possible.to.detect.tha
14f60 74 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 t.the.value.is.<code><span.class
14f80 3d 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
14fa0 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>...
14fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
14fe0 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
15000 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 6d 65 61 6e efined</span></span></code>.mean
15020 73 20 74 68 65 20 76 61 6c 75 65 20 63 6f 75 6c 64 20 62 65 20 61 6e 79 74 68 69 6e 67 2c 20 65 s.the.value.could.be.anything,.e
15040 76 65 6e 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 6e 73 65 6e 73 65 0a 20 ven.something.that.is.nonsense..
15060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 .................according.to.th
15080 65 20 74 79 70 65 2e 20 54 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 45 6e 67 6c 69 73 68 2c e.type..Translated.into.English,
150a0 20 3c 63 6f 64 65 3e 3c 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.
150c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e class="tok-null">undefined</span
150e0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 22 4e 6f 74 20 61 20 6d 65 61 ></span></code>.means."Not.a.mea
15100 6e 69 6e 67 66 75 6c 0a 20 20 20 20 20 20 76 61 6c 75 65 2e 20 55 73 69 6e 67 20 74 68 69 73 20 ningful.......value..Using.this.
15120 76 61 6c 75 65 20 77 6f 75 6c 64 20 62 65 20 61 20 62 75 67 2e 20 54 68 65 20 76 61 6c 75 65 20 value.would.be.a.bug..The.value.
15140 77 69 6c 6c 20 62 65 20 75 6e 75 73 65 64 2c 20 6f 72 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 will.be.unused,.or.overwritten.b
15160 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73 65 64 2e 22 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 efore.being.used.".......</p>...
15180 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 ....<p>.......In.<a.href="#Debug
151a0 22 3e 44 65 62 75 67 3c 2f 61 3e 20 6d 6f 64 65 2c 20 5a 69 67 20 77 72 69 74 65 73 20 3c 63 6f ">Debug</a>.mode,.Zig.writes.<co
151c0 64 65 3e 3c 73 70 61 6e 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
151e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s="tok-number">0xaa</span></span
15200 3e 3c 2f 63 6f 64 65 3e 20 62 79 74 65 73 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f ></code>.bytes.to.undefined.memo
15220 72 79 2e 20 54 68 69 73 20 69 73 20 74 6f 20 63 61 74 63 68 0a 20 20 20 20 20 20 62 75 67 73 20 ry..This.is.to.catch.......bugs.
15240 65 61 72 6c 79 2c 20 61 6e 64 20 74 6f 20 68 65 6c 70 20 64 65 74 65 63 74 20 75 73 65 20 6f 66 early,.and.to.help.detect.use.of
15260 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 69 6e 20 61 20 64 65 62 75 67 67 65 72 2e .undefined.memory.in.a.debugger.
15280 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 .......</p>.....................
152a0 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 54 65 73 74 22 3e 3c 61 20 68 72 65 66 .......<h2.id="Zig-Test"><a.href
152c0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 ="nav.xhtml#toc-Zig-Test">Zig.Te
152e0 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 5a 69 67 st</a>.<a.class="hdr".href="#Zig
15300 2d 54 65 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 -Test">..</a></h2>........<p>...
15320 20 20 20 20 20 20 43 6f 64 65 20 77 72 69 74 74 65 6e 20 77 69 74 68 69 6e 20 6f 6e 65 20 6f 72 ......Code.written.within.one.or
15340 20 6d 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 3c .more.<code><span.class="line"><
15360 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><
15380 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 63 61 6e 20 62 /span></code>.declarations.can.b
153a0 65 20 75 73 65 64 20 74 6f 20 65 6e 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 e.used.to.ensure.behavior.meets.
153c0 65 78 70 65 63 74 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c expectations:.......</p>.......<
153e0 66 69 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
15400 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 72 6f 64 75 63 69 6e p"><cite.class="file">introducin
15420 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f g_zig_test.zig</cite></figcaptio
15440 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">
15460 3c 73 70 61 6e 20 63 6c 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
15480 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
154a0 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
154c0 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>);<
154e0 2f 73 70 61 6e 3e 0a 3c 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
15500 3e 0a 3c 73 70 61 6e 20 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
15520 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
15540 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 s="tok-str">&quot;expect.addOne.
15560 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 adds.one.to.41&quot;</span>.{</s
15580 70 61 6e 3e 0a 3c 73 70 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>.
155a0 3c 73 70 61 6e 20 63 6c 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
155c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 53 74 61 6e 64 61 72 64 ss="tok-comment">//.The.Standard
155e0 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f .Library.contains.useful.functio
15600 6e 73 20 74 6f 20 68 65 6c 70 20 63 72 65 61 74 65 20 74 65 73 74 73 2e 3c 2f 73 70 61 6e 3e 3c ns.to.help.create.tests.</span><
15620 2f 73 70 61 6e 3e 0a 3c 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
15640 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 pan.class="tok-comment">//.`expe
15660 63 74 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 76 65 72 69 66 69 65 73 20 ct`.is.a.function.that.verifies.
15680 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 72 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 its.argument.is.true.</span></sp
156a0 61 6e 3e 0a 3c 73 70 61 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
156c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 69 6c 6c 20 .class="tok-comment">//.It.will.
156e0 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 69 66 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 return.an.error.if.its.argument.
15700 69 73 20 66 61 6c 73 65 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 66 61 69 6c 75 72 65 2e 3c is.false.to.indicate.a.failure.<
15720 2f 73 70 61 6e 3e 3c 2f 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"
15740 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">/
15760 2f 20 60 74 72 79 60 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 /.`try`.is.used.to.return.an.err
15780 6f 72 20 74 6f 20 74 68 65 20 74 65 73 74 20 72 75 6e 6e 65 72 20 74 6f 20 6e 6f 74 69 66 79 20 or.to.the.test.runner.to.notify.
157a0 69 74 20 74 68 61 74 20 74 68 65 20 74 65 73 74 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c it.that.the.test.failed.</span><
157c0 2f 73 70 61 6e 3e 0a 3c 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
157e0 70 61 6e 20 63 6c 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
15800 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 61 64 64 4f 6e 65 28 3c 73 70 61 6e 20 63 6c d.testing.expect(addOne(<span.cl
15820 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c ass="tok-number">41</span>).==.<
15840 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
15860 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">}<
15880 2f 73 70 61 6e 3e 0a 3c 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
158a0 3e 0a 3c 73 70 61 6e 20 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
158c0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 ="tok-comment">///.The.function.
158e0 60 61 64 64 4f 6e 65 60 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 `addOne`.adds.one.to.the.number.
15900 67 69 76 65 6e 20 61 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 given.as.its.argument.</span></s
15920 70 61 6e 3e 0a 3c 73 70 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
15940 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
15960 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 4f 6e 65 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 ss="tok-fn">addOne</span>(number
15980 3a 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
159a0 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<
159c0 2f 73 70 61 6e 3e 20 7b 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
159e0 65 22 3e 20 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
15a00 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rn</span>.number.+.<span.class="
15a20 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
15a40 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><
15a60 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
15a80 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
15aa0 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
15ac0 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 5f ne">$.<kbd>zig.test.introducing_
15ae0 7a 69 67 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 zig_test.zig</kbd></span>.<span.
15b00 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 65 78 70 65 class="line">1/1.test.&quot;expe
15b20 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 6f 74 3b 2e 2e ct.addOne.adds.one.to.41&quot;..
15b40 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
15b60 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
15b80 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>......
15ba0 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 72 6f 64 ...The.<code.class="file">introd
15bc0 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 20 73 ucing_zig_test.zig</code>.code.s
15be0 61 6d 70 6c 65 20 74 65 73 74 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 ample.tests.the.<a.href="#Functi
15c00 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e ons">function</a>.........<code>
15c20 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 2f 73 70 61 6e 3e <span.class="line">addOne</span>
15c40 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e </code>.to.ensure.that.it.return
15c60 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e s.<code><span.class="line"><span
15c80 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 3c 2f 73 .class="tok-number">42</span></s
15ca0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 69 76 65 6e 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 pan></code>.given.the.input.....
15cc0 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
15ce0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 3c an.class="tok-number">41</span><
15d00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 46 72 6f 6d 20 74 68 69 73 20 74 65 73 74 27 73 20 /span></code>..From.this.test's.
15d20 70 65 72 73 70 65 63 74 69 76 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 perspective,.the.<code><span.cla
15d40 73 73 3d 22 6c 69 6e 65 22 3e 61 64 64 4f 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 ss="line">addOne</span></code>.f
15d60 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 73 61 69 64 20 74 6f 20 62 65 20 3c 65 unction.is.........said.to.be.<e
15d80 6d 3e 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f m>code.under.test</em>........</
15da0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 p>.......<p>.........<kbd>zig.te
15dc0 73 74 3c 2f 6b 62 64 3e 20 69 73 20 61 20 74 6f 6f 6c 20 74 68 61 74 20 63 72 65 61 74 65 73 20 st</kbd>.is.a.tool.that.creates.
15de0 61 6e 64 20 72 75 6e 73 20 61 20 74 65 73 74 20 62 75 69 6c 64 2e 20 42 79 20 64 65 66 61 75 6c and.runs.a.test.build..By.defaul
15e00 74 2c 20 69 74 20 62 75 69 6c 64 73 20 61 6e 64 20 72 75 6e 73 20 61 6e 0a 20 20 20 20 20 20 20 t,.it.builds.and.runs.an........
15e20 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 20 75 73 69 6e 67 20 74 68 65 20 3c 65 .executable.program.using.the.<e
15e40 6d 3e 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 3c 2f 65 6d 3e 20 70 72 6f 76 69 m>default.test.runner</em>.provi
15e60 64 65 64 20 62 79 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 ded.by.the.<a.href="#Zig-Standar
15e80 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c d-Library">Zig.Standard.Library<
15ea0 2f 61 3e 0a 20 20 20 20 20 20 20 20 61 73 20 69 74 73 20 6d 61 69 6e 20 65 6e 74 72 79 20 70 6f /a>.........as.its.main.entry.po
15ec0 69 6e 74 2e 20 44 75 72 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 int..During.the.build,.<code><sp
15ee0 61 6e 20 63 6c 61 73 73 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
15f00 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 -kw">test</span></span></code>.d
15f20 65 63 6c 61 72 61 74 69 6f 6e 73 20 66 6f 75 6e 64 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 eclarations.found.while.........
15f40 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 22 3e 72 65 73 6f <a.href="#Root-Source-File">reso
15f60 6c 76 69 6e 67 3c 2f 61 3e 20 74 68 65 20 67 69 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 66 lving</a>.the.given.Zig.source.f
15f80 69 6c 65 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 ile.are.included.for.the.default
15fa0 20 74 65 73 74 20 72 75 6e 6e 65 72 0a 20 20 20 20 20 20 20 20 74 6f 20 72 75 6e 20 61 6e 64 20 .test.runner.........to.run.and.
15fc0 72 65 70 6f 72 74 20 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 61 73 69 report.on........</p>.......<asi
15fe0 64 65 3e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 64 de>.........This.documentation.d
16000 69 73 63 75 73 73 65 73 20 74 68 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 74 68 65 20 64 65 66 iscusses.the.features.of.the.def
16020 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 ault.test.runner.as.provided.by.
16040 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 20 20 20 20 20 the.Zig.Standard.Library........
16060 20 20 49 74 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 ..Its.source.code.is.located.in.
16080 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 <code.class="file">lib/std/speci
160a0 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 al/test_runner.zig</code>.......
160c0 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 .</aside>.......<p>.........The.
160e0 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 73 68 6f 77 6e 20 61 62 6f 76 65 20 64 69 73 70 6c 61 79 shell.output.shown.above.display
16100 73 20 74 77 6f 20 6c 69 6e 65 73 20 61 66 74 65 72 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 s.two.lines.after.the.<kbd>zig.t
16120 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 65 73 65 20 6c 69 6e 65 73 20 61 est</kbd>.command..These.lines.a
16140 72 65 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 65 64 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 re.........printed.to.standard.e
16160 72 72 6f 72 20 62 79 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 3a rror.by.the.default.test.runner:
16180 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c .......</p>.......<dl>.........<
161a0 64 74 3e 3c 73 61 6d 70 3e 54 65 73 74 20 5b 31 2f 31 5d 20 74 65 73 74 20 22 65 78 70 65 63 74 dt><samp>Test.[1/1].test."expect
161c0 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 22 2e 2e 2e 3c 2f 73 61 6d 70 .addOne.adds.one.to.41"...</samp
161e0 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c 64 64 3e 4c 69 6e 65 73 20 6c 69 6b 65 20 74 68 ></dt>.........<dd>Lines.like.th
16200 69 73 20 69 6e 64 69 63 61 74 65 20 77 68 69 63 68 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 74 is.indicate.which.test,.out.of.t
16220 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 73 2c 20 69 73 20 62 65 69 he.total.number.of.tests,.is.bei
16240 6e 67 20 72 75 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 ng.run............In.this.case,.
16260 3c 73 61 6d 70 3e 5b 31 2f 31 5d 3c 2f 73 61 6d 70 3e 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 <samp>[1/1]</samp>.indicates.tha
16280 74 20 74 68 65 20 66 69 72 73 74 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 61 20 74 6f 74 61 6c t.the.first.test,.out.of.a.total
162a0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 6f 6e 65 20 74 65 73 74 2c 20 69 73 20 62 65 69 6e 67 .of...........one.test,.is.being
162c0 20 72 75 6e 2e 20 4e 6f 74 65 20 74 68 61 74 2c 20 77 68 65 6e 20 74 68 65 20 74 65 73 74 20 72 .run..Note.that,.when.the.test.r
162e0 75 6e 6e 65 72 20 70 72 6f 67 72 61 6d 27 73 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 69 unner.program's.standard.error.i
16300 73 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 74 65 72 6d 69 6e s.output...........to.the.termin
16320 61 6c 2c 20 74 68 65 73 65 20 6c 69 6e 65 73 20 61 72 65 20 63 6c 65 61 72 65 64 20 77 68 65 6e al,.these.lines.are.cleared.when
16340 20 61 20 74 65 73 74 20 73 75 63 63 65 65 64 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 64 64 3e 0a .a.test.succeeds..........</dd>.
16360 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 ........<dt><samp>All.1.tests.pa
16380 73 73 65 64 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c 64 64 3e 54 68 ssed.</samp></dt>.........<dd>Th
163a0 69 73 20 6c 69 6e 65 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 is.line.indicates.the.total.numb
163c0 65 72 20 6f 66 20 74 65 73 74 73 20 74 68 61 74 20 68 61 76 65 20 70 61 73 73 65 64 2e 3c 2f 64 er.of.tests.that.have.passed.</d
163e0 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 d>.......</dl>.......<h3.id="Tes
16400 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 t-Declarations"><a.href="nav.xht
16420 6d 6c 23 74 6f 63 2d 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 54 65 73 74 20 44 ml#toc-Test-Declarations">Test.D
16440 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 eclarations</a>.<a.class="hdr".h
16460 72 65 66 3d 22 23 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c ref="#Test-Declarations">..</a><
16480 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 /h3>........<p>.........Test.dec
164a0 6c 61 72 61 74 69 6f 6e 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 larations.contain.the.<a.href="#
164c0 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 6b 65 79 77 6f 72 64 3c 2f 61 3e 20 3c Keyword-Reference">keyword</a>.<
164e0 63 6f 64 65 3e 3c 73 70 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
16500 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ass="tok-kw">test</span></span><
16520 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 0a 20 20 20 20 20 20 20 20 6f /code>,.followed.by.an.........o
16540 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 20 77 72 69 74 74 65 6e 20 61 73 20 61 20 3c 61 20 68 72 65 ptional.name.written.as.a.<a.hre
16560 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d f="#String-Literals-and-Unicode-
16580 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 20 6c 69 74 65 Code-Point-Literals">string.lite
165a0 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 62 79 20 61 20 3c ral</a>,.followed.........by.a.<
165c0 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 20 63 6f 6e 74 61 a.href="#blocks">block</a>.conta
165e0 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 68 61 74 20 69 73 ining.any.valid.Zig.code.that.is
16600 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 6e 63 74 69 6f 6e .allowed.in.a.<a.href="#Function
16620 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 3e 0a 20 20 20 20 s">function</a>........</p>.....
16640 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 6e 74 69 6f 6e 2c ..<aside>.........By.convention,
16660 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 6c 79 20 62 65 20 .non-named.tests.should.only.be.
16680 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 6f 6e 74 61 69 6e used.to.<a.href="#Nested-Contain
166a0 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 20 72 75 6e 3c 2f er-Tests">make.other.tests.run</
166c0 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 73 20 63 61 6e 6e a>..........Non-named.tests.cann
166e0 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 22 3e 66 69 6c 74 ot.be.<a.href="#Skip-Tests">filt
16700 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 20 20 20 20 20 3c ered</a>........</aside>.......<
16720 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 p>.........Test.declarations.are
16740 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 .similar.to.<a.href="#Functions"
16760 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3a 20 74 68 65 79 20 68 61 76 65 20 61 20 72 65 74 75 >Functions</a>:.they.have.a.retu
16780 72 6e 20 74 79 70 65 20 61 6e 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 2e 20 54 68 65 rn.type.and.a.block.of.code..The
167a0 20 69 6d 70 6c 69 63 69 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 .implicit.........return.type.of
167c0 20 3c 63 6f 64 65 3e 3c 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.
167e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e class="tok-kw">test</span></span
16800 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 45 72 72 6f 72 2d ></code>.is.the.<a.href="#Error-
16820 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e Union-Type">Error.Union.Type</a>
16840 20 3c 63 6f 64 65 3e 3c 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.
16860 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e class="tok-type">anyerror</span>
16880 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
168a0 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 61 6e 64 20 69 an></span></code>,.........and.i
168c0 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 61 20 5a 69 67 20 t.cannot.be.changed..When.a.Zig.
168e0 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 73 69 6e 67 20 74 source.file.is.not.built.using.t
16900 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 2c 20 74 68 65 he.<kbd>zig.test</kbd>.tool,.the
16920 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 20 61 72 65 20 6f .test.........declarations.are.o
16940 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 20 20 20 3c 2f 70 mitted.from.the.build........</p
16960 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 65 63 6c 61 72 61 >.......<p>.........Test.declara
16980 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 65 20 73 61 6d 65 tions.can.be.written.in.the.same
169a0 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 73 74 20 69 73 20 .file,.where.code.under.test.is.
169c0 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 5a 69 67 20 73 6f written,.or.in.a.separate.Zig.so
169e0 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 65 73 74 20 64 65 urce.file..........Since.test.de
16a00 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 65 63 6c 61 72 61 clarations.are.top-level.declara
16a20 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 70 65 6e 64 65 6e tions,.they.are.order-independen
16a40 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 65 6e 20 62 65 66 t.and.can.........be.written.bef
16a60 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 72 20 74 65 73 74 ore.or.after.the.code.under.test
16a80 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c ........</p>.......<p>See.also:<
16aa0 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 47 6c 6f 62 61 6c /p><ul>.<li><a.href="#The-Global
16ac0 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 -Error-Set">The.Global.Error.Set
16ae0 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 61 6d 6d 61 72 22 </a></li>.<li><a.href="#Grammar"
16b00 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 20 20 20 20 20 0a >Grammar</a></li>.</ul>.........
16b20 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 69 6e 65 72 2d 54 ......<h3.id="Nested-Container-T
16b40 65 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4e 65 73 ests"><a.href="nav.xhtml#toc-Nes
16b60 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 4e 65 73 74 65 64 20 43 6f 6e 74 ted-Container-Tests">Nested.Cont
16b80 61 69 6e 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 ainer.Tests</a>.<a.class="hdr".h
16ba0 72 65 66 3d 22 23 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e c2 a7 ref="#Nested-Container-Tests">..
16bc0 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
16be0 6e 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 6c 20 69 n.the.<kbd>zig.test</kbd>.tool.i
16c00 73 20 62 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 s.building.a.test.runner,.only.r
16c20 65 73 6f 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 esolved.<code><span.class="line"
16c40 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
16c60 3e 3c 2f 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 ></span></code>.........declarat
16c80 69 6f 6e 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 ions.are.included.in.the.build..
16ca0 49 6e 69 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 Initially,.only.the.given.Zig.so
16cc0 75 72 63 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 urce.file's.top-level.........de
16ce0 63 6c 61 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 clarations.are.resolved..Unless.
16d00 6e 65 73 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 nested.containers.are.referenced
16d20 20 66 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 .from.a.top-level.test.declarati
16d40 6f 6e 2c 0a 20 20 20 20 20 20 20 20 6e 65 73 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 74 65 73 on,.........nested.container.tes
16d60 74 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 3c ts.will.not.be.resolved........<
16d80 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 /p>.......<p>.........The.code.s
16da0 61 6d 70 6c 65 20 62 65 6c 6f 77 20 75 73 65 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ample.below.uses.the.<code><span
16dc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 72 65 66 41 6c 6c .class="line">std.testing.refAll
16de0 44 65 63 6c 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e Decls(<span.class="tok-builtin">
16e00 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 @This</span>())</span></code>.fu
16e20 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 nction.call.to.........reference
16e40 20 61 6c 6c 20 6f 66 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 73 20 74 68 61 74 20 61 72 65 20 .all.of.the.containers.that.are.
16e60 69 6e 20 74 68 65 20 66 69 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 69 6d 70 6f 72 74 in.the.file.including.the.import
16e80 65 64 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 54 68 65 20 63 6f 64 65 0a 20 20 20 ed.Zig.source.file..The.code....
16ea0 20 20 20 20 20 73 61 6d 70 6c 65 20 61 6c 73 6f 20 73 68 6f 77 73 20 61 6e 20 61 6c 74 65 72 6e .....sample.also.shows.an.altern
16ec0 61 74 69 76 65 20 77 61 79 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 63 6f 6e 74 61 69 6e 65 72 ative.way.to.reference.container
16ee0 73 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s.using.the.<code><span.class="l
16f00 69 6e 65 22 3e 5f 20 3d 20 43 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 ine">_.=.C;</span></code>.......
16f20 20 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 73 79 6e 74 61 78 20 74 65 6c 6c 73 20 74 68 65 20 ..syntax..This.syntax.tells.the.
16f40 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 compiler.to.ignore.the.result.of
16f60 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 74 68 65 20 72 69 67 68 74 20 73 69 64 .the.expression.on.the.right.sid
16f80 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 61 73 73 69 67 6e 6d 65 6e 74 20 6f 70 65 72 e.of.the.........assignment.oper
16fa0 61 74 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ator........</p>.......<figure><
16fc0 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
16fe0 20 63 6c 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 .class="file">testdecl_container
17000 5f 74 6f 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 _top_level.zig</cite></figcaptio
17020 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">
17040 3c 73 70 61 6e 20 63 6c 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
17060 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
17080 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
170a0 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>);<
170c0 2f 73 70 61 6e 3e 0a 3c 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.
170e0 63 6c 61 73 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
17100 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>.
17120 3c 73 70 61 6e 20 63 6c 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
17140 20 63 6c 61 73 73 3d 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
17160 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6d 70 6f 72 74 65 64 20 73 6f 75 72 63 65 20 66 69 6c 65 20 omment">//.Imported.source.file.
17180 74 65 73 74 73 20 77 69 6c 6c 20 72 75 6e 20 77 68 65 6e 20 72 65 66 65 72 65 6e 63 65 64 20 66 tests.will.run.when.referenced.f
171a0 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e rom.a.top-level.test.declaration
171c0 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
171e0 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">//.
17200 54 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 61 6c 6f 6e 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 The.next.line.alone.does.not.cau
17220 73 65 20 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 se.&quot;introducing_zig_test.zi
17240 67 26 71 75 6f 74 3b 20 74 65 73 74 73 20 74 6f 20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 g&quot;.tests.to.run.</span></sp
17260 61 6e 3e 0a 3c 73 70 61 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
17280 73 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 6d 70 6f 72 74 65 ss="tok-kw">const</span>.importe
172a0 64 5f 66 69 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 d_file.=.<span.class="tok-builti
172c0 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
172e0 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 5f 7a 69 67 5f 74 65 ok-str">&quot;introducing_zig_te
17300 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 61 6e 3e 0a 3c 73 70 st.zig&quot;</span>);</span>.<sp
17320 61 6e 20 63 6c 61 73 73 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
17340 61 73 73 3d 22 6c 69 6e 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">
17360 74 65 73 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 test</span>.{</span>.<span.class
17380 3d 22 6c 69 6e 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
173a0 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 72 75 6e 20 6e 65 73 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 ment">//.To.run.nested.container
173c0 20 74 65 73 74 73 2c 20 65 69 74 68 65 72 2c 20 63 61 6c 6c 20 60 72 65 66 41 6c 6c 44 65 63 6c .tests,.either,.call.`refAllDecl
173e0 73 60 20 77 68 69 63 68 20 77 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 s`.which.will</span></span>.<spa
17400 6e 20 63 6c 61 73 73 3d 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="
17420 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 66 65 72 65 6e 63 65 20 61 6c 6c 20 64 65 tok-comment">//.reference.all.de
17440 63 6c 61 72 61 74 69 6f 6e 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 clarations.located.in.the.given.
17460 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c argument.</span></span>.<span.cl
17480 61 73 73 3d 22 6c 69 6e 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-
174a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 40 54 68 69 73 28 29 60 20 69 73 20 61 20 62 75 69 6c 74 comment">//.`@This()`.is.a.built
174c0 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 6e in.function.that.returns.the.inn
174e0 65 72 6d 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 66 72 ermost.container.it.is.called.fr
17500 6f 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c om.</span></span>.<span.class="l
17520 69 6e 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
17540 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 6e 6e 65 72 t">//.In.this.example,.the.inner
17560 6d 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 73 20 74 68 69 73 20 66 69 6c 65 20 28 69 6d 70 most.container.is.this.file.(imp
17580 6c 69 63 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e licitly.a.struct).</span></span>
175a0 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 74 65 73 74 .<span.class="line">....std.test
175c0 69 6e 67 2e 72 65 66 41 6c 6c 44 65 63 6c 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ing.refAllDecls(<span.class="tok
175e0 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3b 3c 2f 73 70 61 6e -builtin">@This</span>());</span
17600 3e 0a 3c 73 70 61 6e 20 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
17620 61 6e 20 63 6c 61 73 73 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=
17640 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 2c 20 72 65 66 65 72 65 6e 63 65 20 65 "tok-comment">//.or,.reference.e
17660 61 63 68 20 63 6f 6e 74 61 69 6e 65 72 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 66 72 6f 6d 20 ach.container.individually.from.
17680 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 73 a.top-level.test.declaration.</s
176a0 70 61 6e 3e 3c 2f 73 70 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">.
176c0 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">//.
176e0 54 68 65 20 60 5f 20 3d 20 43 3b 60 20 73 79 6e 74 61 78 20 69 73 20 61 20 6e 6f 2d 6f 70 20 72 The.`_.=.C;`.syntax.is.a.no-op.r
17700 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 60 43 60 2e 3c eference.to.the.identifier.`C`.<
17720 2f 73 70 61 6e 3e 3c 2f 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"
17740 3e 20 20 20 20 5f 20 3d 20 53 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >...._.=.S;</span>.<span.class="
17760 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 55 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c line">...._.=.U;</span>.<span.cl
17780 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 3d 22 ass="line">...._.=.<span.class="
177a0 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
177c0 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 72 6f 64 75 63 n.class="tok-str">&quot;introduc
177e0 69 6e 67 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 ing_zig_test.zig&quot;</span>);<
17800 2f 73 70 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
17820 6e 3e 0a 3c 73 70 61 6e 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
17840 70 61 6e 20 63 6c 61 73 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
17860 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 70 61 6e 20 63 6c 61 k-kw">const</span>.S.=.<span.cla
17880 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
178a0 6e 3e 0a 3c 73 70 61 6e 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.
178c0 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
178e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 20 64 65 6d 6f 20 74 65 .class="tok-str">&quot;S.demo.te
17900 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 70 61 6e 20 63 st&quot;</span>.{</span>.<span.c
17920 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=
17940 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
17960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c .class="tok-null">true</span>);<
17980 2f 73 70 61 6e 3e 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">....}<
179a0 2f 73 70 61 6e 3e 0a 3c 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
179c0 3e 0a 3c 73 70 61 6e 20 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
179e0 6c 61 73 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 lass="tok-kw">const</span>.SE.=.
17a00 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>
17a20 20 7b 3c 2f 73 70 61 6e 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">...
17a40 20 20 20 20 20 56 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .....V,</span>.<span.class="line
17a60 22 3e 3c 2f 73 70 61 6e 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">...
17a80 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
17aa0 2f 20 54 68 69 73 20 74 65 73 74 20 77 6f 6e 27 74 20 72 75 6e 20 62 65 63 61 75 73 65 20 69 74 /.This.test.won't.run.because.it
17ac0 73 20 63 6f 6e 74 61 69 6e 65 72 20 28 53 45 29 20 69 73 20 6e 6f 74 20 72 65 66 65 72 65 6e 63 s.container.(SE).is.not.referenc
17ae0 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
17b00 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
17b20 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
17b40 74 72 22 3e 26 71 75 6f 74 3b 54 68 69 73 20 54 65 73 74 20 57 6f 6e 27 74 20 52 75 6e 26 71 75 tr">&quot;This.Test.Won't.Run&qu
17b60 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=
17b80 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="
17ba0 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.
17bc0 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 3c class="tok-null">false</span>);<
17be0 2f 73 70 61 6e 3e 0a 3c 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">......
17c00 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">..
17c20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ..};</span>.<span.class="line">}
17c40 3b 3c 2f 73 70 61 6e 3e 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
17c60 61 6e 3e 0a 3c 73 70 61 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
17c80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 20 3d 20 3c 73 70 ss="tok-kw">const</span>.U.=.<sp
17ca0 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 20 7b an.class="tok-kw">union</span>.{
17cc0 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 55 20 .<span.class="tok-comment">//.U.
17ce0 69 73 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 66 69 6c 65 27 73 20 74 6f 70 2d is.referenced.by.the.file's.top-
17d00 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 level.test.declaration</span></s
17d20 70 61 6e 3e 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 pan>.<span.class="line">....s:.U
17d40 53 2c 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 S,........<span.class="tok-comme
17d60 6e 74 22 3e 2f 2f 20 61 6e 64 20 55 53 20 69 73 20 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 nt">//.and.US.is.referenced.here
17d80 3b 20 74 68 65 72 65 66 6f 72 65 2c 20 26 71 75 6f 74 3b 55 2e 55 73 20 64 65 6d 6f 20 74 65 73 ;.therefore,.&quot;U.Us.demo.tes
17da0 74 26 71 75 6f 74 3b 20 77 69 6c 6c 20 72 75 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c t&quot;.will.run</span></span>.<
17dc0 73 70 61 6e 20 63 6c 61 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.
17de0 63 6c 61 73 73 3d 22 6c 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
17e00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 53 20 3d 20 3c 73 70 61 6e 20 63 6c k-kw">const</span>.US.=.<span.cl
17e20 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
17e40 61 6e 3e 0a 3c 73 70 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">........<
17e60 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>.
17e80 3c 73 70 61 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 <span.class="tok-str">&quot;U.US
17ea0 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 2f 73 70 61 6e 3e .demo.test&quot;</span>.{</span>
17ec0 0a 3c 73 70 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">............
17ee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 <span.class="tok-comment">//.Thi
17f00 73 20 74 65 73 74 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 s.test.is.a.top-level.test.decla
17f20 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 ration.for.the.struct.</span></s
17f40 70 61 6e 3e 0a 3c 73 70 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">........
17f60 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">//
17f80 20 54 68 65 20 73 74 72 75 63 74 20 69 73 20 6e 65 73 74 65 64 20 28 64 65 63 6c 61 72 65 64 29 .The.struct.is.nested.(declared)
17fa0 20 69 6e 73 69 64 65 20 6f 66 20 61 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .inside.of.a.union.</span></span
17fc0 3e 0a 3c 73 70 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">...........
17fe0 20 3c 73 70 61 6e 20 63 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>
18000 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 74 .expect(<span.class="tok-null">t
18020 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 3d rue</span>);</span>.<span.class=
18040 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
18060 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
18080 6c 61 73 73 3d 22 6c 69 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=
180a0 22 6c 69 6e 65 22 3e 20 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">
180c0 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
180e0 22 3e 26 71 75 6f 74 3b 55 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ">&quot;U.demo.test&quot;</span>
18100 20 7b 3c 2f 73 70 61 6e 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">...
18120 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
18140 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c pan>.expect(<span.class="tok-nul
18160 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 6c l">true</span>);</span>.<span.cl
18180 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
181a0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ass="line">};</span></code></pre
181c0 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
181e0 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
18200 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">
18220 24 20 3c 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 $.<kbd>zig.test.testdecl_contain
18240 65 72 5f 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 er_top_level.zig</kbd></span>.<s
18260 70 61 6e 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 pan.class="line">1/5.test.&quot;
18280 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=
182a0 22 6c 69 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 "line">2/5.S.test.&quot;S.demo.t
182c0 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
182e0 73 73 3d 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 ss="line">3/5.U.test.&quot;U.dem
18300 6f 20 74 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 o.test&quot;....OK</span>.<span.
18320 63 6c 61 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 class="line">4/5.introducing_zig
18340 5f 74 65 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 _test.test.&quot;expect.addOne.a
18360 64 64 73 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 dds.one.to.41&quot;....OK</span>
18380 0a 3c 73 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 .<span.class="line">5/5.US.test.
183a0 26 71 75 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 &quot;U.US.demo.test&quot;....OK
183c0 3c 2f 73 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 </span>.<span.class="line">All.5
183e0 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
18400 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
18420 3d 22 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 ="Test-Failure"><a.href="nav.xht
18440 6d 6c 23 74 6f 63 2d 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 54 65 73 74 20 46 61 69 6c 75 72 ml#toc-Test-Failure">Test.Failur
18460 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 54 65 73 74 e</a>.<a.class="hdr".href="#Test
18480 2d 46 61 69 6c 75 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e -Failure">..</a></h3>........<p>
184a0 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 .........The.default.test.runner
184c0 20 63 68 65 63 6b 73 20 66 6f 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 .checks.for.an.<a.href="#Errors"
184e0 3e 65 72 72 6f 72 3c 2f 61 3e 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 61 20 74 65 73 74 2e >error</a>.returned.from.a.test.
18500 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 61 20 74 65 73 74 20 72 65 74 75 72 6e 73 20 61 6e 20 .........When.a.test.returns.an.
18520 65 72 72 6f 72 2c 20 74 68 65 20 74 65 73 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 error,.the.test.is.considered.a.
18540 66 61 69 6c 75 72 65 20 61 6e 64 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d failure.and.its.<a.href="#Error-
18560 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 Return-Traces">error.return.trac
18580 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 69 73 20 6f 75 74 70 75 74 20 74 6f 20 73 74 61 6e 64 e</a>.........is.output.to.stand
185a0 61 72 64 20 65 72 72 6f 72 2e 20 54 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 66 ard.error..The.total.number.of.f
185c0 61 69 6c 75 72 65 73 20 77 69 6c 6c 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 ailures.will.be.reported.after.a
185e0 6c 6c 20 74 65 73 74 73 20 68 61 76 65 20 72 75 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ll.tests.have.run........</p>...
18600 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
18620 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.
18640 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
18660 65 3e 3c 73 70 61 6e 20 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
18680 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
186a0 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</
186c0 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
186e0 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
18700 6e 20 63 6c 61 73 73 3d 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
18720 73 73 3d 22 6c 69 6e 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
18740 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"
18760 3e 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;
18780 3c 2f 73 70 61 6e 3e 20 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
187a0 6e 65 22 3e 20 20 20 20 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
187c0 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e </span>.std.testing.expect(<span
187e0 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>);
18800 3c 2f 73 70 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
18820 61 6e 3e 0a 3c 73 70 61 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>.<
18840 73 70 61 6e 20 63 6c 61 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
18860 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="
18880 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 tok-str">&quot;expect.this.to.su
188a0 63 63 65 65 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 cceed&quot;</span>.{</span>.<spa
188c0 6e 20 63 6c 61 73 73 3d 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="
188e0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 tok-kw">try</span>.std.testing.e
18900 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 74 72 75 xpect(<span.class="tok-null">tru
18920 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
18940 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
18960 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
18980 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>
189a0 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>
189c0 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>.<
189e0 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
18a00 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 2e 2e 2e 20 74 65 ;expect.this.to.fail&quot;....te
18a20 73 74 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 st.&quot;expect.this.to.fail&quo
18a40 74 3b 2e 2e 2e 20 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 t;....FAIL.(TestUnexpectedResult
18a60 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 46 41 49 4c )</span>.<span.class="line">FAIL
18a80 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 61 6e 3e 0a 3c .(TestUnexpectedResult)</span>.<
18aa0 73 70 61 6e 20 63 6c 61 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
18ac0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 1_0">/home/andy/Downloads/zig/li
18ae0 62 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a 33 30 33 3a 31 34 3c 2f 73 70 61 6e 3e 3a b/std/testing.zig:303:14</span>:
18b00 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 30 31 62 20 69 6e 20 .<span.class="t2_0">0x20801b.in.
18b20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e std.testing.expect.(test)</span>
18b40 3c 2f 73 70 61 6e 3e 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
18b60 66 20 28 21 6f 6b 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 54 65 73 74 55 6e 65 78 70 65 63 f.(!ok).return.error.TestUnexpec
18b80 74 65 64 52 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 tedResult;</span>.<span.class="l
18ba0 69 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 ine">.............<span.class="t
18bc0 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
18be0 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
18c00 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f e/andy/Downloads/zig/docgen_tmp/
18c20 74 65 73 74 2e 7a 69 67 3a 34 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 test.zig:4:5</span>:.<span.class
18c40 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 61 35 31 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 65 ="t2_0">0x207a51.in.test.&quot;e
18c60 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c xpect.this.to.fail&quot;.(test)<
18c80 2f 73 70 61 6e 3e 3c 2f 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"
18ca0 3e 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 61 6c 73 >....try.std.testing.expect(fals
18cc0 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">..
18ce0 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></
18d00 73 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 span>.<span.class="line">2/2.tes
18d20 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 63 63 65 65 64 26 71 t.&quot;expect.this.to.succeed&q
18d40 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
18d60 69 6e 65 22 3e 31 20 70 61 73 73 65 64 3b 20 30 20 73 6b 69 70 70 65 64 3b 20 31 20 66 61 69 6c ine">1.passed;.0.skipped;.1.fail
18d80 65 64 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 65 72 ed.</span>.<span.class="line">er
18da0 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.
18dc0 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 3c 2f 73 70 61 6e 3e 0a failed.with.exit.code.1:</span>.
18de0 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
18e00 67 2d 63 61 63 68 65 2f 6f 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 33 36 30 g-cache/o/8e4964e05ddaf866e77360
18e20 61 35 35 31 62 33 63 30 35 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c a551b3c05b/test./home/andy/Downl
18e40 6f 61 64 73 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 oads/zig/build-release/zig</span
18e60 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>........
18e80 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 72 65 ......<h3.id="Skip-Tests"><a.hre
18ea0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 f="nav.xhtml#toc-Skip-Tests">Ski
18ec0 70 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 3d p.Tests</a>.<a.class="hdr".href=
18ee0 22 23 53 6b 69 70 2d 54 65 73 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 "#Skip-Tests">..</a></h3>.......
18f00 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 4f 6e 65 20 77 61 79 20 74 6f 20 73 6b 69 70 20 74 65 73 .<p>.........One.way.to.skip.tes
18f20 74 73 20 69 73 20 74 6f 20 66 69 6c 74 65 72 20 74 68 65 6d 20 6f 75 74 20 62 79 20 75 73 69 6e ts.is.to.filter.them.out.by.usin
18f40 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 63 6f 6d 6d 61 6e g.the.<kbd>zig.test</kbd>.comman
18f60 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 2d d.line.parameter.........<kbd>--
18f80 74 65 73 74 2d 66 69 6c 74 65 72 20 5b 74 65 78 74 5d 3c 2f 6b 62 64 3e 2e 20 54 68 69 73 20 6d test-filter.[text]</kbd>..This.m
18fa0 61 6b 65 73 20 74 68 65 20 74 65 73 74 20 62 75 69 6c 64 20 6f 6e 6c 79 20 69 6e 63 6c 75 64 65 akes.the.test.build.only.include
18fc0 20 74 65 73 74 73 20 77 68 6f 73 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 20 .tests.whose.name.contains.the..
18fe0 20 20 20 20 20 20 20 73 75 70 70 6c 69 65 64 20 66 69 6c 74 65 72 20 74 65 78 74 2e 20 4e 6f 74 .......supplied.filter.text..Not
19000 65 20 74 68 61 74 20 6e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 61 72 65 20 72 75 6e 20 65 e.that.non-named.tests.are.run.e
19020 76 65 6e 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 2d 66 ven.when.using.the.<kbd>--test-f
19040 69 6c 74 65 72 20 5b 74 65 78 74 5d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 ilter.[text]</kbd>.........comma
19060 6e 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 nd.line.parameter........</p>...
19080 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 6f 20 70 72 6f 67 72 61 6d 6d 61 74 69 63 61 ....<p>.........To.programmatica
190a0 6c 6c 79 20 73 6b 69 70 20 61 20 74 65 73 74 2c 20 6d 61 6b 65 20 61 20 3c 63 6f 64 65 3e 3c 73 lly.skip.a.test,.make.a.<code><s
190c0 70 61 6e 20 63 6c 61 73 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
190e0 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-kw">test</span></span></code>.
19100 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c return.the.error.........<code><
19120 73 70 61 6e 20 63 6c 61 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
19140 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3c ok-kw">error</span>.SkipZigTest<
19160 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 /span></code>.and.the.default.te
19180 73 74 20 72 75 6e 6e 65 72 20 77 69 6c 6c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 74 65 73 74 st.runner.will.consider.the.test
191a0 20 61 73 20 62 65 69 6e 67 20 73 6b 69 70 70 65 64 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 .as.being.skipped..........The.t
191c0 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 73 6b 69 70 70 65 64 20 74 65 73 74 73 20 77 69 6c otal.number.of.skipped.tests.wil
191e0 6c 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 l.be.reported.after.all.tests.ha
19200 76 65 20 72 75 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 ve.run........</p>.......<figure
19220 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
19240 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><
19260 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
19280 73 73 3d 22 6c 69 6e 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
192a0 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"
192c0 3e 26 71 75 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 26 71 75 6f 74 >&quot;this.will.be.skipped&quot
192e0 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
19300 69 6e 65 22 3e 20 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
19320 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"
19340 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
19360 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
19380 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
193a0 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</
193c0 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
193e0 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
19400 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
19420 22 3e 31 2f 31 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 73 6b ">1/1.test.&quot;this.will.be.sk
19440 69 70 70 65 64 26 71 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 ipped&quot;....test.&quot;this.w
19460 69 6c 6c 20 62 65 20 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 ill.be.skipped&quot;....SKIP</sp
19480 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 3c 2f 73 70 61 an>.<span.class="line">SKIP</spa
194a0 6e 3e 0a 3c 73 70 61 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 n>.<span.class="line">0.passed;.
194c0 31 20 73 6b 69 70 70 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 1.skipped;.0.failed.</span>.</sa
194e0 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>....
19500 20 20 20 20 20 54 68 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 .....The.default.test.runner.ski
19520 70 73 20 74 65 73 74 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 ps.tests.containing.a.<a.href="#
19540 41 73 79 6e 63 2d 46 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 Async-Functions">suspend.point</
19560 61 3e 20 77 68 69 6c 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 a>.while.the.........test.is.run
19580 6e 69 6e 67 20 75 73 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 ning.using.the.default,.blocking
195a0 20 49 4f 20 6d 6f 64 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 .IO.mode..........(The.evented.I
195c0 4f 20 6d 6f 64 65 20 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 O.mode.is.enabled.using.the.<kbd
195e0 3e 2d 2d 74 65 73 74 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 >--test-evented-io</kbd>.command
19600 20 6c 69 6e 65 20 70 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 .line.parameter.).......</p>....
19620 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
19640 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 5f g-cap"><cite.class="file">async_
19660 73 6b 69 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 skip.zig</cite></figcaption><pre
19680 3e 3c 63 6f 64 65 3e 3c 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.
196a0 63 6c 61 73 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.
196c0 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
196e0 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"
19700 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>
19720 0a 3c 73 70 61 6e 20 63 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
19740 6e 20 63 6c 61 73 73 3d 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-
19760 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
19780 2d 73 74 72 22 3e 26 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 -str">&quot;async.skip.test&quot
197a0 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
197c0 69 6e 65 22 3e 20 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
197e0 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 73 73 3d 22 74 6f r</span>.frame.=.<span.class="to
19800 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 73 70 61 6e k-kw">async</span>.func();</span
19820 3e 0a 3c 73 70 61 6e 20 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
19840 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c lass="tok-kw">const</span>.resul
19860 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 61 77 61 69 74 3c 2f t.=.<span.class="tok-kw">await</
19880 73 70 61 6e 3e 20 66 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 span>.frame;</span>.<span.class=
198a0 22 6c 69 6e 65 22 3e 20 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">
198c0 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 72 65 try</span>.std.testing.expect(re
198e0 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 sult.==.<span.class="tok-number"
19900 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >1</span>);</span>.<span.class="
19920 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
19940 22 3e 3c 2f 73 70 61 6e 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
19960 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
19980 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 29 20 3c n.class="tok-fn">func</span>().<
199a0 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>
199c0 20 7b 3c 2f 73 70 61 6e 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">...
199e0 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 3c 2f 73 .<span.class="tok-kw">suspend</s
19a00 70 61 6e 3e 20 7b 3c 2f 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"
19a20 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 65 >........<span.class="tok-kw">re
19a40 73 75 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 62 75 69 sume</span>.<span.class="tok-bui
19a60 6c 74 69 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 ltin">@frame</span>();</span>.<s
19a80 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
19aa0 70 61 6e 20 63 6c 61 73 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
19ac0 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
19ae0 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
19b00 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
19b20 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
19b40 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</
19b60 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
19b80 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
19ba0 6b 69 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 6c 61 73 73 kip.zig</kbd></span>.<span.class
19bc0 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 73 6b 69 ="line">1/1.test.&quot;async.ski
19be0 70 20 74 65 73 74 26 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 p.test&quot;....test.&quot;async
19c00 20 73 6b 69 70 20 74 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 .skip.test&quot;....SKIP.(async.
19c20 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 69 6e 65 22 3e test)</span>.<span.class="line">
19c40 53 4b 49 50 20 28 61 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 SKIP.(async.test)</span>.<span.c
19c60 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 65 64 3b lass="line">0.passed;.1.skipped;
19c80 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 65 3e 3c .0.failed.</span>.</samp></pre><
19ca0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 /figure>.......<p>.........In.th
19cc0 65 20 63 6f 64 65 20 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 e.code.sample.above,.the.test.wo
19ce0 75 6c 64 20 6e 6f 74 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 uld.not.be.skipped.in.blocking.I
19d00 4f 20 6d 6f 64 65 20 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 O.mode.if.the.<code><span.class=
19d20 22 6c 69 6e 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 "line"><span.class="tok-kw">nosu
19d40 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 3e 0a 20 20 20 20 20 spend</span></span></code>......
19d60 20 20 20 6b 65 79 77 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 ...keyword.was.used.(see.<a.href
19d80 3d 22 23 41 73 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 ="#Async-and-Await">Async.and.Aw
19da0 61 69 74 3c 2f 61 3e 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 ait</a>)........</p>............
19dc0 20 20 3c 68 33 20 69 64 3d 22 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 3c ..<h3.id="Report-Memory-Leaks"><
19de0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d a.href="nav.xhtml#toc-Report-Mem
19e00 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 65 70 6f 72 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f ory-Leaks">Report.Memory.Leaks</
19e20 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 70 6f 72 74 2d a>.<a.class="hdr".href="#Report-
19e40 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 Memory-Leaks">..</a></h3>.......
19e60 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 63 6f 64 65 20 61 6c 6c 6f 63 61 74 65 73 .<p>.........When.code.allocates
19e80 20 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 20 75 73 .<a.href="#Memory">Memory</a>.us
19ea0 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c ing.the.<a.href="#Zig-Standard-L
19ec0 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e ibrary">Zig.Standard.Library</a>
19ee0 27 73 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 3c 63 's.testing.allocator,.........<c
19f00 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
19f20 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 ng.allocator</span></code>,.the.
19f40 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 default.test.runner.will.report.
19f60 61 6e 79 20 6c 65 61 6b 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 20 20 20 66 6f 75 6e 64 any.leaks.that.are.........found
19f80 20 66 72 6f 6d 20 75 73 69 6e 67 20 74 68 65 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f .from.using.the.testing.allocato
19fa0 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 r:.......</p>.......<figure><fig
19fc0 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
19fe0 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
1a000 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
1a020 69 6e 65 22 3e 3c 73 70 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<
1a040 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
1a060 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
1a080 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
1a0a0 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"><
1a0c0 2f 73 70 61 6e 3e 0a 3c 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.
1a0e0 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
1a100 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 74 65 63 74 20 6c 65 .class="tok-str">&quot;detect.le
1a120 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 6e 20 63 ak&quot;</span>.{</span>.<span.c
1a140 6c 61 73 73 3d 22 6c 69 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
1a160 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 73 74 64 2e 41 72 72 61 79 -kw">var</span>.list.=.std.Array
1a180 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 75 32 31 3c List(<span.class="tok-type">u21<
1a1a0 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 /span>).init(std.testing.allocat
1a1c0 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 or);</span>.<span.class="line">.
1a1e0 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">//.
1a200 6d 69 73 73 69 6e 67 20 60 64 65 66 65 72 20 6c 69 73 74 2e 64 65 69 6e 69 74 28 29 3b 60 3c 2f missing.`defer.list.deinit();`</
1a220 73 70 61 6e 3e 3c 2f 73 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">
1a240 20 20 20 20 3c 73 70 61 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
1a260 61 6e 3e 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.list.append(<span.class="tok
1a280 2d 73 74 72 22 3e 27 e2 98 94 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -str">'...'</span>);</span>.<spa
1a2a0 6e 20 63 6c 61 73 73 3d 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
1a2c0 73 73 3d 22 6c 69 6e 65 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
1a2e0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 w">try</span>.std.testing.expect
1a300 28 6c 69 73 74 2e 69 74 65 6d 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 (list.items.len.==.<span.class="
1a320 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 73 tok-number">1</span>);</span>.<s
1a340 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>
1a360 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
1a380 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
1a3a0 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
1a3c0 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
1a3e0 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/
1a400 31 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 2e 2e 1.test.&quot;detect.leak&quot;..
1a420 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 5b ..OK</span>.<span.class="line">[
1a440 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 63 gpa].(err):.memory.address.0x7fc
1a460 31 34 30 65 62 30 30 30 30 20 6c 65 61 6b 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 140eb0000.leaked:</span>.<span.c
1a480 6c 61 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">/
1a4a0 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
1a4c0 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 32 35 3a 36 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 array_list.zig:325:69</span>:.<s
1a4e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 64 39 64 39 20 69 6e 20 73 74 64 pan.class="t2_0">0x20d9d9.in.std
1a500 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 32 31 .array_list.ArrayListAligned(u21
1a520 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 50 72 65 63 69 73 ,null).ensureTotalCapacityPrecis
1a540 65 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 e.(test)</span></span>.<span.cla
1a560 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 63 6f 6e 73 74 20 ss="line">................const.
1a580 6e 65 77 5f 6d 65 6d 6f 72 79 20 3d 20 74 72 79 20 73 65 6c 66 2e 61 6c 6c 6f 63 61 74 6f 72 2e new_memory.=.try.self.allocator.
1a5a0 72 65 61 6c 6c 6f 63 41 74 4c 65 61 73 74 28 73 65 6c 66 2e 61 6c 6c 6f 63 61 74 65 64 53 6c 69 reallocAtLeast(self.allocatedSli
1a5c0 63 65 28 29 2c 20 6e 65 77 5f 63 61 70 61 63 69 74 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ce(),.new_capacity);</span>.<spa
1a5e0 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">.................
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a620 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="
1a640 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
1a660 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
1a680 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 61 72 me/andy/Downloads/zig/lib/std/ar
1a6a0 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 3c 73 70 61 ray_list.zig:310:55</span>:.<spa
1a6c0 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 64 37 64 65 20 69 6e 20 73 74 64 2e 61 n.class="t2_0">0x20d7de.in.std.a
1a6e0 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 32 31 2c 6e rray_list.ArrayListAligned(u21,n
1a700 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 73 74 29 3c ull).ensureTotalCapacity.(test)<
1a720 2f 73 70 61 6e 3e 3c 2f 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"
1a740 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 2e 65 6e 73 >................return.self.ens
1a760 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 65 72 5f 63 ureTotalCapacityPrecise(better_c
1a780 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 3d 22 6c 69 apacity);</span>.<span.class="li
1a7a0 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 20 ne">............................
1a7c0 20 20 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.
1a7e0 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
1a800 70 61 6e 20 63 6c 61 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
1a820 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 _0">/home/andy/Downloads/zig/lib
1a840 2f 73 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 /std/array_list.zig:349:41</span
1a860 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 37 35 38 20 69 >:.<span.class="t2_0">0x20d758.i
1a880 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 6c 69 67 6e 65 n.std.array_list.ArrayListAligne
1a8a0 64 28 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 d(u21,null).addOne.(test)</span>
1a8c0 3c 2f 73 70 61 6e 3e 0a 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">.....
1a8e0 20 20 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 .......try.self.ensureTotalCapac
1a900 69 74 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 ity(newlen);</span>.<span.class=
1a920 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 20 "line">.........................
1a940 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_
1a960 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="
1a980 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
1a9a0 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 61 72 72 61 79 5f ndy/Downloads/zig/lib/std/array_
1a9c0 6c 69 73 74 2e 7a 69 67 3a 31 36 31 3a 34 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c list.zig:161:49</span>:.<span.cl
1a9e0 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 64 35 34 20 69 6e 20 73 74 64 2e 61 72 72 61 79 ass="t2_0">0x209d54.in.std.array
1aa00 5f 6c 69 73 74 2e 41 72 72 61 79 4c 69 73 74 41 6c 69 67 6e 65 64 28 75 32 31 2c 6e 75 6c 6c 29 _list.ArrayListAligned(u21,null)
1aa20 2e 61 70 70 65 6e 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 .append.(test)</span></span>.<sp
1aa40 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 6e 73 an.class="line">............cons
1aa60 74 20 6e 65 77 5f 69 74 65 6d 5f 70 74 72 20 3d 20 74 72 79 20 73 65 6c 66 2e 61 64 64 4f 6e 65 t.new_item_ptr.=.try.self.addOne
1aa80 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">..
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1aac0 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
1aae0 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
1ab00 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
1ab20 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 dy/Downloads/zig/docgen_tmp/test
1ab40 2e 7a 69 67 3a 36 3a 32 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:6:20</span>:.<span.class="t
1ab60 32 5f 30 22 3e 30 78 32 30 39 37 33 30 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 74 65 2_0">0x209730.in.test.&quot;dete
1ab80 63 74 20 6c 65 61 6b 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 ct.leak&quot;.(test)</span></spa
1aba0 6e 3e 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 6c 69 n>.<span.class="line">....try.li
1abc0 73 74 2e 61 70 70 65 6e 64 28 27 e2 98 94 27 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.append('...');</span>.<span.c
1abe0 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 3c lass="line">...................<
1ac00 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
1ac20 6e 3e 0a 3c 73 70 61 6e 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
1ac40 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 s="t1_0">/home/andy/Downloads/zi
1ac60 67 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 g/lib/std/special/test_runner.zi
1ac80 67 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 g:80:28</span>:.<span.class="t2_
1aca0 30 22 3e 30 78 32 33 62 64 38 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 0">0x23bd83.in.std.special.main.
1acc0 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
1ace0 3d 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 ="line">........}.else.test_fn.f
1ad00 75 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 unc();</span>.<span.class="line"
1ad20 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 3c 73 70 61 >...........................<spa
1ad40 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>.
1ad60 3c 73 70 61 6e 20 63 6c 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="
1ad80 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c t1_0">/home/andy/Downloads/zig/l
1ada0 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:543:22</span>:.
1adc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 33 63 61 63 20 69 6e 20 73 <span.class="t2_0">0x233cac.in.s
1ade0 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 61 6e 3e 3c td.start.callMain.(test)</span><
1ae00 2f 73 70 61 6e 3e 0a 3c 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">......
1ae20 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 70 61 6e 20 ......root.main();</span>.<span.
1ae40 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">...................
1ae60 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></
1ae80 73 70 61 6e 3e 0a 3c 73 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
1aea0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 lass="t1_0">/home/andy/Downloads
1aec0 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
1aee0 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 65 37 63 pan>:.<span.class="t2_0">0x20e7c
1af00 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.
1af20 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
1af40 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
1af60 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
1af80 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
1afa0 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_
1afc0 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="
1afe0 6c 69 6e 65 22 3e 3c 2f 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"
1b000 3e 3c 2f 73 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.
1b020 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
1b040 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.<
1b060 2f 73 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
1b080 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
1b0a0 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.
1b0c0 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
1b0e0 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">
1b100 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 38 65 34 39 36 34 65 30 35 docgen_tmp/zig-cache/o/8e4964e05
1b120 64 64 61 66 38 36 36 65 37 37 33 36 30 61 35 35 31 62 33 63 30 35 62 2f 74 65 73 74 20 2f 68 6f ddaf866e77360a551b3c05b/test./ho
1b140 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 me/andy/Downloads/zig/build-rele
1b160 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 69 ase/zig</span>.</samp></pre></fi
1b180 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e gure>.......<p>See.also:</p><ul>
1b1a0 0a 3c 6c 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 .<li><a.href="#defer">defer</a><
1b1c0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 /li>.<li><a.href="#Memory">Memor
1b1e0 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 20 20 20 20 20 3c y</a></li>.</ul>...............<
1b200 68 33 20 69 64 3d 22 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 3c 61 20 h3.id="Detecting-Test-Build"><a.
1b220 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 65 74 65 63 74 69 6e 67 2d 54 65 href="nav.xhtml#toc-Detecting-Te
1b240 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 74 69 6e 67 20 54 65 73 74 20 42 75 69 6c 64 3c 2f st-Build">Detecting.Test.Build</
1b260 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 74 65 63 74 69 a>.<a.class="hdr".href="#Detecti
1b280 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ng-Test-Build">..</a></h3>......
1b2a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 55 73 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 ..<p>.........Use.the.<a.href="#
1b2c0 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 63 6f 6d 70 69 6c 65 20 76 61 72 69 61 Compile-Variables">compile.varia
1b2e0 62 6c 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 ble</a>.<code><span.class="line"
1b300 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
1b320 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">
1b340 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 69 73 5f 74 &quot;builtin&quot;</span>).is_t
1b360 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 74 6f 20 64 65 74 est</span></code>.........to.det
1b380 65 63 74 20 61 20 74 65 73 74 20 62 75 69 6c 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ect.a.test.build:.......</p>....
1b3a0 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
1b3c0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 74 65 63 74 g-cap"><cite.class="file">detect
1b3e0 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 _test.zig</cite></figcaption><pr
1b400 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
1b420 20 63 6c 61 73 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
1b440 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
1b460 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
1b480 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
1b4a0 3e 0a 3c 73 70 61 6e 20 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
1b4c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d ="tok-kw">const</span>.builtin.=
1b4e0 20 3c 73 70 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
1b500 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">
1b520 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 &quot;builtin&quot;</span>);</sp
1b540 61 6e 3e 0a 3c 73 70 61 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
1b560 73 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.
1b580 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
1b5a0 61 6e 20 63 6c 61 73 73 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
1b5c0 61 73 73 3d 22 6c 69 6e 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">
1b5e0 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
1b600 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 ">&quot;builtin.is_test&quot;</s
1b620 70 61 6e 3e 20 7b 3c 2f 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"
1b640 3e 20 20 20 20 3c 73 70 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
1b660 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 41 54 65 73 74 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c pan>.expect(isATest());</span>.<
1b680 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
1b6a0 20 63 6c 61 73 73 3d 22 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
1b6c0 73 3d 22 6c 69 6e 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
1b6e0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 41 </span>.<span.class="tok-fn">isA
1b700 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 Test</span>().<span.class="tok-t
1b720 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 6e 20 ype">bool</span>.{</span>.<span.
1b740 63 6c 61 73 73 3d 22 6c 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
1b760 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 69 73 5f 74 k-kw">return</span>.builtin.is_t
1b780 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 7d est;</span>.<span.class="line">}
1b7a0 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
1b7c0 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
1b7e0 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>
1b800 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
1b820 73 74 20 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a st.detect_test.zig</kbd></span>.
1b840 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
1b860 74 3b 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 t;builtin.is_test&quot;....OK</s
1b880 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
1b8a0 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>
1b8c0 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
1b8e0 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d est-Output-and-Logging"><a.href=
1b900 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c "nav.xhtml#toc-Test-Output-and-L
1b920 6f 67 67 69 6e 67 22 3e 54 65 73 74 20 4f 75 74 70 75 74 20 61 6e 64 20 4c 6f 67 67 69 6e 67 3c ogging">Test.Output.and.Logging<
1b940 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 4f /a>.<a.class="hdr".href="#Test-O
1b960 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a utput-and-Logging">..</a></h3>..
1b980 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 74 65 ......<p>.........The.default.te
1b9a0 73 74 20 72 75 6e 6e 65 72 20 61 6e 64 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c st.runner.and.the.Zig.Standard.L
1b9c0 69 62 72 61 72 79 27 73 20 74 65 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 20 6f 75 74 70 75 ibrary's.testing.namespace.outpu
1b9e0 74 20 6d 65 73 73 61 67 65 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 0a 20 20 t.messages.to.standard.error....
1ba00 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 ....</p>..............<h3.id="Th
1ba20 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 e-Testing-Namespace"><a.href="na
1ba40 76 2e 78 68 74 6d 6c 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 v.xhtml#toc-The-Testing-Namespac
1ba60 65 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 e">The.Testing.Namespace</a>.<a.
1ba80 63 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 class="hdr".href="#The-Testing-N
1baa0 61 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 amespace">..</a></h3>........<p>
1bac0 0a 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 .........The.Zig.Standard.Librar
1bae0 79 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 y's.<code>testing</code>.namespa
1bb00 63 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 ce.contains.useful.functions.to.
1bb20 68 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 help.........you.create.tests..I
1bb40 6e 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 n.addition.to.the.<code>expect</
1bb60 63 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 code>.function,.this.document.us
1bb80 65 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 es.a.couple.of.more.functions...
1bba0 20 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 ......as.exemplified.here:......
1bbc0 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.
1bbe0 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
1bc00 65 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 e">testing_functions.zig</cite><
1bc20 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
1bc40 73 73 3d 22 6c 69 6e 65 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
1bc60 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
1bc80 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
1bca0 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;
1bcc0 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
1bce0 6e 65 22 3e 3c 2f 73 70 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"><
1bd00 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>.
1bd20 3c 73 70 61 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 <span.class="tok-str">&quot;expe
1bd40 63 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 ctEqual.demo&quot;</span>.{</spa
1bd60 6e 3e 0a 3c 73 70 61 6e 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.
1bd80 63 6c 61 73 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
1bda0 63 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 cted:.<span.class="tok-type">i32
1bdc0 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
1bde0 72 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 r">42</span>;</span>.<span.class
1be00 3d 22 6c 69 6e 65 22 3e 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"
1be20 3e 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 >const</span>.actual.=.<span.cla
1be40 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ss="tok-number">42</span>;</span
1be60 3e 0a 3c 73 70 61 6e 20 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
1be80 61 6e 20 63 6c 61 73 73 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=
1bea0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d "tok-comment">//.The.first.argum
1bec0 65 6e 74 20 74 6f 20 60 65 78 70 65 63 74 45 71 75 61 6c 60 20 69 73 20 74 68 65 20 6b 6e 6f 77 ent.to.`expectEqual`.is.the.know
1bee0 6e 2c 20 65 78 70 65 63 74 65 64 2c 20 72 65 73 75 6c 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 n,.expected,.result.</span></spa
1bf00 6e 3e 0a 3c 73 70 61 6e 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.
1bf20 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 73 65 63 6f 6e class="tok-comment">//.The.secon
1bf40 64 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 d.argument.is.the.result.of.some
1bf60 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 6e .expression.</span></span>.<span
1bf80 20 63 6c 61 73 73 3d 22 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
1bfa0 6f 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 ok-comment">//.The.actual's.type
1bfc0 20 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 .is.casted.to.the.type.of.expect
1bfe0 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
1c000 69 6e 65 22 3e 20 20 20 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
1c020 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c y</span>.std.testing.expectEqual
1c040 28 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 (expected,.actual);</span>.<span
1c060 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
1c080 73 73 3d 22 6c 69 6e 65 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
1c0a0 69 6e 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</
1c0c0 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
1c0e0 74 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 t;expectError.demo&quot;</span>.
1c100 7b 3c 2f 73 70 61 6e 3e 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">....
1c120 3c 73 70 61 6e 20 63 6c 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
1c140 3e 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 >.expected_error.=.<span.class="
1c160 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 3c tok-kw">error</span>.DemoError;<
1c180 2f 73 70 61 6e 3e 0a 3c 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
1c1a0 70 61 6e 20 63 6c 61 73 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>.
1c1c0 61 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 actual_error_union:.<span.class=
1c1e0 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
1c200 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>.=.
1c220 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
1c240 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.DemoError;</span>.<span.class=
1c260 22 6c 69 6e 65 22 3e 3c 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
1c280 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">
1c2a0 2f 2f 20 60 65 78 70 65 63 74 45 72 72 6f 72 60 20 77 69 6c 6c 20 66 61 69 6c 20 77 68 65 6e 20 //.`expectError`.will.fail.when.
1c2c0 74 68 65 20 61 63 74 75 61 6c 20 65 72 72 6f 72 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 the.actual.error.is.different.th
1c2e0 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 an</span></span>.<span.class="li
1c300 6e 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
1c320 22 3e 2f 2f 20 74 68 65 20 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c ">//.the.expected.error.</span><
1c340 2f 73 70 61 6e 3e 0a 3c 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
1c360 70 61 6e 20 63 6c 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
1c380 64 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 d.testing.expectError(expected_e
1c3a0 72 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 rror,.actual_error_union);</span
1c3c0 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
1c3e0 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
1c400 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</
1c420 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
1c440 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 69 6e 67 s="line">$.<kbd>zig.test.testing
1c460 5f 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 _functions.zig</kbd></span>.<spa
1c480 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 65 78 n.class="line">1/2.test.&quot;ex
1c4a0 70 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 pectEqual.demo&quot;....OK</span
1c4c0 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 20 26 71 >.<span.class="line">2/2.test.&q
1c4e0 75 6f 74 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b uot;expectError.demo&quot;....OK
1c500 3c 2f 73 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 </span>.<span.class="line">All.2
1c520 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
1c540 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 5a 69 67 20 53 74 re></figure>.......<p>The.Zig.St
1c560 61 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 andard.Library.also.contains.fun
1c580 63 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 ctions.to.compare.<a.href="#Slic
1c5a0 65 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 es">Slices</a>,.strings,.and.mor
1c5c0 65 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 e..See.the.rest.of.the.........<
1c5e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 code><span.class="line">std.test
1c600 69 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 ing</span></code>.namespace.in.t
1c620 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 he.<a.href="#Zig-Standard-Librar
1c640 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 66 6f 72 20 y">Zig.Standard.Library</a>.for.
1c660 6d 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 more.available.functions.</p>...
1c680 20 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 ...........<h3.id="Test-Tool-Doc
1c6a0 75 6d 65 6e 74 61 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 umentation"><a.href="nav.xhtml#t
1c6c0 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 3e 54 65 73 74 oc-Test-Tool-Documentation">Test
1c6e0 20 54 6f 6f 6c 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 .Tool.Documentation</a>.<a.class
1c700 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 ="hdr".href="#Test-Tool-Document
1c720 61 74 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 20 ation">..</a></h3>........<p>...
1c740 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 68 61 73 20 61 20 ......<kbd>zig.test</kbd>.has.a.
1c760 66 65 77 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 73 20 77 68 69 63 few.command.line.parameters.whic
1c780 68 20 61 66 66 65 63 74 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 h.affect.the.compilation........
1c7a0 20 20 53 65 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e ..See.<kbd>zig.test.--help</kbd>
1c7c0 20 66 6f 72 20 61 20 66 75 6c 6c 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .for.a.full.list........</p>....
1c7e0 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 61 72 69 61 62 ..................<h2.id="Variab
1c800 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 56 61 72 69 les"><a.href="nav.xhtml#toc-Vari
1c820 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ables">Variables</a>.<a.class="h
1c840 64 72 22 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 dr".href="#Variables">..</a></h2
1c860 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 61 72 69 61 62 6c 65 20 69 73 >........<p>.......A.variable.is
1c880 20 61 20 75 6e 69 74 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d .a.unit.of.<a.href="#Memory">Mem
1c8a0 6f 72 79 3c 2f 61 3e 20 73 74 6f 72 61 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ory</a>.storage........</p>.....
1c8c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 56 61 72 69 61 62 6c 65 73 20 61 72 65 20 6e 65 76 65 72 20 ..<p>.......Variables.are.never.
1c8e0 61 6c 6c 6f 77 65 64 20 74 6f 20 73 68 61 64 6f 77 20 69 64 65 6e 74 69 66 69 65 72 73 20 66 72 allowed.to.shadow.identifiers.fr
1c900 6f 6d 20 61 6e 20 6f 75 74 65 72 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 om.an.outer.scope........</p>...
1c920 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 70 72 ....<p>.......It.is.generally.pr
1c940 65 66 65 72 61 62 6c 65 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 eferable.to.use.<code><span.clas
1c960 73 3d 22 6c 69 6e 65 22 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
1c980 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 61 74 68 65 72 20 nst</span></span></code>.rather.
1c9a0 74 68 61 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 than.......<code><span.class="li
1c9c0 6e 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 ne"><span.class="tok-kw">var</sp
1c9e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 6e 20 64 65 63 6c 61 72 69 6e 67 an></span></code>.when.declaring
1ca00 20 61 20 76 61 72 69 61 62 6c 65 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 6c 65 73 73 20 77 6f .a.variable..This.causes.less.wo
1ca20 72 6b 20 66 6f 72 20 62 6f 74 68 0a 20 20 20 20 20 20 68 75 6d 61 6e 73 20 61 6e 64 20 63 6f 6d rk.for.both.......humans.and.com
1ca40 70 75 74 65 72 73 20 74 6f 20 64 6f 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 63 6f 64 65 2c 20 puters.to.do.when.reading.code,.
1ca60 61 6e 64 20 63 72 65 61 74 65 73 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 6f 70 and.creates.more.optimization.op
1ca80 70 6f 72 74 75 6e 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 portunities........</p>.......<h
1caa0 33 20 69 64 3d 22 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 3.id="Container-Level-Variables"
1cac0 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 ><a.href="nav.xhtml#toc-Containe
1cae0 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 r-Level-Variables">Container.Lev
1cb00 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 el.Variables</a>.<a.class="hdr".
1cb20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 href="#Container-Level-Variables
1cb40 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 43 ">..</a></h3>........<p>.......C
1cb60 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 68 61 76 65 20 73 74 ontainer.level.variables.have.st
1cb80 61 74 69 63 20 6c 69 66 65 74 69 6d 65 20 61 6e 64 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 atic.lifetime.and.are.order-inde
1cba0 70 65 6e 64 65 6e 74 20 61 6e 64 20 6c 61 7a 69 6c 79 20 61 6e 61 6c 79 7a 65 64 2e 0a 20 20 20 pendent.and.lazily.analyzed.....
1cbc0 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 63 ...The.initialization.value.of.c
1cbe0 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 69 73 20 69 6d 70 6c ontainer.level.variables.is.impl
1cc00 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 icitly.......<a.href="#comptime"
1cc20 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 20 49 66 20 61 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 >comptime</a>..If.a.container.le
1cc40 76 65 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 vel.variable.is.<code><span.clas
1cc60 73 3d 22 6c 69 6e 65 22 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
1cc80 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 69 74 nst</span></span></code>.then.it
1cca0 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 s.value.is.......<code><span.cla
1ccc0 73 73 3d 22 6c 69 6e 65 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
1cce0 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 6e 6f omptime</span></span></code>-kno
1cd00 77 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 wn,.otherwise.it.is.runtime-know
1cd20 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 n........</p>.......<figure><fig
1cd40 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
1cd60 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 ass="file">container_level_varia
1cd80 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 bles.zig</cite></figcaption><pre
1cda0 3e 3c 63 6f 64 65 3e 3c 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.
1cdc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 class="tok-kw">var</span>.y:.<sp
1cde0 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>.=
1ce00 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 .add(<span.class="tok-number">10
1ce20 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 20 63 6c 61 73 73 3d </span>,.x);</span>.<span.class=
1ce40 22 6c 69 6e 65 22 3e 3c 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
1ce60 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.x:.<span.class="tok-typ
1ce80 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">i32</span>.=.add(<span.class=
1cea0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c "tok-number">12</span>,.<span.cl
1cec0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ass="tok-number">34</span>);</sp
1cee0 61 6e 3e 0a 3c 73 70 61 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>.<
1cf00 73 70 61 6e 20 63 6c 61 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
1cf20 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="
1cf40 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 tok-str">&quot;container.level.v
1cf60 61 72 69 61 62 6c 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ariables&quot;</span>.{</span>.<
1cf80 73 70 61 6e 20 63 6c 61 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
1cfa0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d s="tok-kw">try</span>.expect(x.=
1cfc0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 =.<span.class="tok-number">46</s
1cfe0 70 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"
1d000 3e 20 20 20 20 3c 73 70 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
1d020 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expect(y.==.<span.class="to
1d040 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">56</span>);</span>.<sp
1d060 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
1d080 6c 61 73 73 3d 22 6c 69 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=
1d0a0 22 6c 69 6e 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</
1d0c0 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 3c 2f span>.<span.class="tok-fn">add</
1d0e0 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>(a:.<span.class="tok-type">
1d100 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 6b 2d i32</span>,.b:.<span.class="tok-
1d120 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
1d140 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">i32</span>.{</span>.<sp
1d160 61 6e 20 63 6c 61 73 73 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=
1d180 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 "tok-kw">return</span>.a.+.b;</s
1d1a0 70 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>
1d1c0 0a 3c 73 70 61 6e 20 63 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
1d1e0 6e 20 63 6c 61 73 73 3d 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-
1d200 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
1d220 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>(
1d240 3c 73 70 61 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&
1d260 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
1d280 73 3d 22 6c 69 6e 65 22 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
1d2a0 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.
1d2c0 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 expect;</span></code></pre></fig
1d2e0 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
1d300 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
1d320 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
1d340 3e 7a 69 67 20 74 65 73 74 20 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 >zig.test.container_level_variab
1d360 6c 65 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 les.zig</kbd></span>.<span.class
1d380 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 6e 74 61 69 6e 65 72 ="line">1/1.test.&quot;container
1d3a0 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 .level.variables&quot;....OK</sp
1d3c0 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
1d3e0 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><
1d400 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 43 6f 6e 74 61 69 6e /figure>.......<p>.......Contain
1d420 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 79 20 62 65 20 64 65 63 6c 61 72 er.level.variables.may.be.declar
1d440 65 64 20 69 6e 73 69 64 65 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 ed.inside.a.<a.href="#struct">st
1d460 72 75 63 74 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 ruct</a>,.<a.href="#union">union
1d480 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 </a>,.or.<a.href="#enum">enum</a
1d4a0 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 >:.......</p>.......<figure><fig
1d4c0 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
1d4e0 61 73 73 3d 22 66 69 6c 65 22 3e 6e 61 6d 65 73 70 61 63 65 64 5f 63 6f 6e 74 61 69 6e 65 72 5f ass="file">namespaced_container_
1d500 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 level_variable.zig</cite></figca
1d520 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
1d540 6e 65 22 3e 3c 73 70 61 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</
1d560 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
1d580 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
1d5a0 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
1d5c0 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
1d5e0 70 61 6e 20 63 6c 61 73 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>.
1d600 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
1d620 61 6e 3e 0a 3c 73 70 61 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>.<
1d640 73 70 61 6e 20 63 6c 61 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
1d660 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="
1d680 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 63 65 64 20 63 6f 6e 74 61 69 tok-str">&quot;namespaced.contai
1d6a0 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ner.level.variable&quot;</span>.
1d6c0 7b 3c 2f 73 70 61 6e 3e 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">....
1d6e0 3c 73 70 61 6e 20 63 6c 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>.
1d700 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
1d720 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 6e 3e 0a 3c 73 -number">1235</span>);</span>.<s
1d740 70 61 6e 20 63 6c 61 73 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
1d760 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 ="tok-kw">try</span>.expect(foo(
1d780 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 ).==.<span.class="tok-number">12
1d7a0 33 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 36</span>);</span>.<span.class="
1d7c0 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
1d7e0 22 3e 3c 2f 73 70 61 6e 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
1d800 61 6e 20 63 6c 61 73 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
1d820 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f .=.<span.class="tok-kw">struct</
1d840 73 70 61 6e 3e 20 7b 3c 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
1d860 22 3e 20 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</
1d880 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">
1d8a0 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
1d8c0 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 20 mber">1234</span>;</span>.<span.
1d8e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
1d900 73 73 3d 22 6c 69 6e 65 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
1d920 69 6e 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
1d940 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
1d960 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
1d980 3c 2f 73 70 61 6e 3e 20 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
1d9a0 6e 65 22 3e 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ne">....S.x.+=.<span.class="tok-
1d9c0 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
1d9e0 6c 61 73 73 3d 22 6c 69 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
1da00 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 3b 3c 2f 73 70 61 6e 3e 0a 3c -kw">return</span>.S.x;</span>.<
1da20 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
1da40 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
1da60 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
1da80 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="
1daa0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 61 6d 65 73 70 61 63 65 64 line">$.<kbd>zig.test.namespaced
1dac0 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 6b _container_level_variable.zig</k
1dae0 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/
1db00 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 63 65 64 20 63 6f 6e 74 61 69 6e 65 1.test.&quot;namespaced.containe
1db20 72 20 6c 65 76 65 6c 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 r.level.variable&quot;....OK</sp
1db40 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
1db60 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><
1db80 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 22 53 /figure>...............<h3.id="S
1dba0 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 tatic-Local-Variables"><a.href="
1dbc0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 nav.xhtml#toc-Static-Local-Varia
1dbe0 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 61 3e bles">Static.Local.Variables</a>
1dc00 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 4c 6f .<a.class="hdr".href="#Static-Lo
1dc20 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 cal-Variables">..</a></h3>......
1dc40 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 62 6c ..<p>.........It.is.also.possibl
1dc60 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 20 73 e.to.have.local.variables.with.s
1dc80 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 6e 65 tatic.lifetime.by.using.containe
1dca0 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 3e 0a rs.inside.functions........</p>.
1dcc0 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=
1dce0 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 74 61 "zig-cap"><cite.class="file">sta
1dd00 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 2f 66 tic_local_variable.zig</cite></f
1dd20 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
1dd40 3d 22 6c 69 6e 65 22 3e 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
1dd60 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
1dd80 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
1dda0 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;</
1ddc0 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
1dde0 22 3e 3c 73 70 61 6e 20 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
1de00 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;
1de20 3c 2f 73 70 61 6e 3e 0a 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
1de40 6e 3e 0a 3c 73 70 61 6e 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
1de60 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
1de80 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 6c 20 ss="tok-str">&quot;static.local.
1dea0 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 0a 3c variable&quot;</span>.{</span>.<
1dec0 73 70 61 6e 20 63 6c 61 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
1dee0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f s="tok-kw">try</span>.expect(foo
1df00 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 ().==.<span.class="tok-number">1
1df20 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 73 3d 235</span>);</span>.<span.class=
1df40 22 6c 69 6e 65 22 3e 20 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">
1df60 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
1df80 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 3e 29 .class="tok-number">1236</span>)
1dfa0 3b 3c 2f 73 70 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
1dfc0 70 61 6e 3e 0a 3c 73 70 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>.
1dfe0 3c 73 70 61 6e 20 63 6c 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="
1e000 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
1e020 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-fn">foo</span>().<span.class=
1e040 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>.<
1e060 73 70 61 6e 20 63 6c 61 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
1e080 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 70 61 s="tok-kw">const</span>.S.=.<spa
1e0a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-kw">struct</span>.{
1e0c0 3c 2f 73 70 61 6e 3e 0a 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">.....
1e0e0 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
1e100 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
1e120 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
1e140 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">1234</span>;</span>.<span.cla
1e160 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
1e180 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 61 73 ass="line">....S.x.+=.<span.clas
1e1a0 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>.
1e1c0 3c 73 70 61 6e 20 63 6c 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
1e1e0 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 3c 2f ss="tok-kw">return</span>.S.x;</
1e200 73 70 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
1e220 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><
1e240 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
1e260 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.
1e280 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 61 class="line">$.<kbd>zig.test.sta
1e2a0 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 73 70 tic_local_variable.zig</kbd></sp
1e2c0 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.
1e2e0 26 71 75 6f 74 3b 73 74 61 74 69 63 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 &quot;static.local.variable&quot
1e300 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
1e320 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
1e340 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>...
1e360 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....The.<code><span.class="line"
1e380 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 73 70 ><span.class="tok-kw">extern</sp
1e3a0 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 61 20 an></span></code>.keyword.or.<a.
1e3c0 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 6c 74 href="#extern">@extern</a>.built
1e3e0 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 6b 20 in.function.can.be.used.to.link.
1e400 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 6f 72 against.a.variable.that.is.expor
1e420 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 20 54 ted.......from.another.object..T
1e440 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
1e460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">export</span></
1e480 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 66 3d span></code>.keyword.or.<a.href=
1e4a0 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 66 75 "#export">@export</a>.builtin.fu
1e4c0 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 6b 65 nction.......can.be.used.to.make
1e4e0 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 20 6f .a.variable.available.to.other.o
1e500 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 61 73 bjects.at.link.time..In.both.cas
1e520 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 61 62 es,.......the.type.of.the.variab
1e540 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 20 20 le.must.be.C.ABI.compatible.....
1e560 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 ...</p>.......<p>See.also:</p><u
1e580 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 2d 4c l>.<li><a.href="#Exporting-a-C-L
1e5a0 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
1e5c0 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.
1e5e0 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 20 68 id="Thread-Local-Variables"><a.h
1e600 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d ref="nav.xhtml#toc-Thread-Local-
1e620 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 Variables">Thread.Local.Variable
1e640 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 68 72 65 s</a>.<a.class="hdr".href="#Thre
1e660 61 64 2d 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 ad-Local-Variables">..</a></h3>.
1e680 0a 20 20 20 20 20 20 3c 70 3e 41 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 73 70 65 63 .......<p>A.variable.may.be.spec
1e6a0 69 66 69 65 64 20 74 6f 20 62 65 20 61 20 74 68 72 65 61 64 2d 6c 6f 63 61 6c 20 76 61 72 69 61 ified.to.be.a.thread-local.varia
1e6c0 62 6c 65 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ble.using.the.......<code><span.
1e6e0 63 6c 61 73 73 3d 22 6c 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
1e700 22 3e 74 68 72 65 61 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 ">threadlocal</span></span></cod
1e720 65 3e 20 6b 65 79 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 e>.keyword:</p>.......<figure><f
1e740 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.
1e760 63 6c 61 73 73 3d 22 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 class="file">tls.zig</cite></fig
1e780 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="
1e7a0 6c 69 6e 65 22 3e 3c 73 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
1e7c0 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
1e7e0 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
1e800 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
1e820 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">
1e840 3c 73 70 61 6e 20 63 6c 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
1e860 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 >.assert.=.std.debug.assert;</sp
1e880 61 6e 3e 0a 3c 73 70 61 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>.<
1e8a0 73 70 61 6e 20 63 6c 61 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
1e8c0 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ok-kw">threadlocal</span>.<span.
1e8e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 class="tok-kw">var</span>.x:.<sp
1e900 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>.=
1e920 20 3c 73 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</
1e940 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"
1e960 3e 3c 2f 73 70 61 6e 3e 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
1e980 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
1e9a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 61 64 20 an.class="tok-str">&quot;thread.
1e9c0 6c 6f 63 61 6c 20 73 74 6f 72 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 local.storage&quot;</span>.{</sp
1e9e0 61 6e 3e 0a 3c 73 70 61 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
1ea00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 .class="tok-kw">const</span>.thr
1ea20 65 61 64 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 74 72 79 3c ead1.=.<span.class="tok-kw">try<
1ea40 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 2e 73 70 61 77 6e 28 2e 7b 7d 2c 20 74 65 73 /span>.std.Thread.spawn(.{},.tes
1ea60 74 54 6c 73 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 tTls,..{});</span>.<span.class="
1ea80 6c 69 6e 65 22 3e 20 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
1eaa0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 61 64 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 onst</span>.thread2.=.<span.clas
1eac0 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 54 68 72 65 61 64 s="tok-kw">try</span>.std.Thread
1eae0 2e 73 70 61 77 6e 28 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e .spawn(.{},.testTls,..{});</span
1eb00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 54 6c 73 >.<span.class="line">....testTls
1eb20 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">..
1eb40 20 20 74 68 72 65 61 64 31 2e 6a 6f 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ..thread1.join();</span>.<span.c
1eb60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 61 64 32 2e 6a 6f 69 6e 28 29 3b 3c lass="line">....thread2.join();<
1eb80 2f 73 70 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
1eba0 6e 3e 0a 3c 73 70 61 6e 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
1ebc0 70 61 6e 20 63 6c 61 73 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
1ebe0 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
1ec00 2d 66 6e 22 3e 74 65 73 74 54 6c 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 -fn">testTls</span>().<span.clas
1ec20 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
1ec40 3e 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(
1ec60 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 31 32 x.==.<span.class="tok-number">12
1ec80 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 22 34</span>);</span>.<span.class="
1eca0 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 74 6f 6b 2d line">....x.+=.<span.class="tok-
1ecc0 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
1ece0 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 70 61 lass="line">....assert(x.==.<spa
1ed00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e n.class="tok-number">1235</span>
1ed20 29 3b 3c 2f 73 70 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">}</
1ed40 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
1ed60 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"
1ed80 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
1eda0 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
1edc0 20 74 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 73 .tls.zig</kbd></span>.<span.clas
1ede0 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 72 65 61 64 20 6c s="line">1/1.test.&quot;thread.l
1ee00 6f 63 61 6c 20 73 74 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 ocal.storage&quot;....OK</span>.
1ee20 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
1ee40 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
1ee60 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 3c 61 20 68 72 65 66 ure>.......<p>.......For.<a.href
1ee80 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c ="#Single-Threaded-Builds">Singl
1eea0 65 20 54 68 72 65 61 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 e.Threaded.Builds</a>,.all.threa
1eec0 64 20 6c 6f 63 61 6c 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 d.local.variables.are.treated.as
1eee0 20 72 65 67 75 6c 61 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 .regular.<a.href="#Container-Lev
1ef00 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 el-Variables">Container.Level.Va
1ef20 72 69 61 62 6c 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 3c 70 riables</a>........</p>.......<p
1ef40 3e 0a 20 20 20 20 20 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 >.......Thread.local.variables.m
1ef60 61 79 20 6e 6f 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 ay.not.be.<code><span.class="lin
1ef80 65 22 3e 3c 73 70 61 6e 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
1efa0 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 0a 20 pan></span></code>........</p>..
1efc0 20 20 20 20 20 0a 0a 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 .............<h3.id="Local-Varia
1efe0 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4c 6f 63 bles"><a.href="nav.xhtml#toc-Loc
1f000 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 al-Variables">Local.Variables</a
1f020 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 6f 63 61 6c 2d 56 61 >.<a.class="hdr".href="#Local-Va
1f040 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a riables">..</a></h3>........<p>.
1f060 20 20 20 20 20 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 6f 63 63 75 72 20 69 6e 73 69 ......Local.variables.occur.insi
1f080 64 65 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e de.<a.href="#Functions">Function
1f0a0 73 3c 2f 61 3e 2c 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 s</a>,.<a.href="#comptime">compt
1f0c0 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 73 2c 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 63 49 ime</a>.blocks,.and.<a.href="#cI
1f0e0 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 20 62 6c 6f 63 6b 73 2e 0a 20 20 20 20 mport">@cImport</a>.blocks......
1f100 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 6c 6f ..</p>.......<p>.......When.a.lo
1f120 63 61 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 cal.variable.is.<code><span.clas
1f140 73 3d 22 6c 69 6e 65 22 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
1f160 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 74 20 6d 65 61 nst</span></span></code>,.it.mea
1f180 6e 73 20 74 68 61 74 20 61 66 74 65 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2c 20 74 68 ns.that.after.initialization,.th
1f1a0 65 20 76 61 72 69 61 62 6c 65 27 73 0a 20 20 20 20 20 20 76 61 6c 75 65 20 77 69 6c 6c 20 6e 6f e.variable's.......value.will.no
1f1c0 74 20 63 68 61 6e 67 65 2e 20 49 66 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 t.change..If.the.initialization.
1f1e0 76 61 6c 75 65 20 6f 66 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 value.of.a.<code><span.class="li
1f200 6e 65 22 3e 3c 73 70 61 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</
1f220 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 6c 65 20 69 73 0a span></span></code>.variable.is.
1f240 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 ......<a.href="#comptime">compti
1f260 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 2c 20 74 68 65 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 me</a>-known,.then.the.variable.
1f280 69 73 20 61 6c 73 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 is.also.<code><span.class="line"
1f2a0 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</
1f2c0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 span></span></code>-known.......
1f2e0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 6c 6f 63 61 6c 20 76 61 .</p>.......<p>.......A.local.va
1f300 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 71 75 61 6c 69 66 69 65 64 20 77 69 74 68 20 74 68 65 riable.may.be.qualified.with.the
1f320 20 3c 63 6f 64 65 3e 3c 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.
1f340 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f class="tok-kw">comptime</span></
1f360 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 20 54 68 69 73 20 63 61 75 73 65 span></code>.keyword..This.cause
1f380 73 0a 20 20 20 20 20 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 20 76 61 6c 75 65 20 74 6f 20 s.......the.variable's.value.to.
1f3a0 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
1f3c0 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>
1f3e0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 61 6e 64 20 61 6c 6c 20 6c 6f </span></code>-known,.and.all.lo
1f400 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 76 61 72 69 ads.and.stores.of.the.......vari
1f420 61 62 6c 65 20 74 6f 20 68 61 70 70 65 6e 20 64 75 72 69 6e 67 20 73 65 6d 61 6e 74 69 63 20 61 able.to.happen.during.semantic.a
1f440 6e 61 6c 79 73 69 73 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 72 61 74 68 65 72 20 74 nalysis.of.the.program,.rather.t
1f460 68 61 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 0a 20 20 20 20 20 20 41 6c 6c 20 76 61 72 69 61 62 han.at.runtime........All.variab
1f480 6c 65 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c les.declared.in.a.<code><span.cl
1f4a0 61 73 73 3d 22 6c 69 6e 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">
1f4c0 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 65 78 comptime</span></span></code>.ex
1f4e0 70 72 65 73 73 69 6f 6e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 pression.are.implicitly.......<c
1f500 6f 64 65 3e 3c 73 70 61 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
1f520 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ss="tok-kw">comptime</span></spa
1f540 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a n></code>.variables........</p>.
1f560 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=
1f580 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 6f 6d "zig-cap"><cite.class="file">com
1f5a0 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 69 6f ptime_vars.zig</cite></figcaptio
1f5c0 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">
1f5e0 3c 73 70 61 6e 20 63 6c 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
1f600 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
1f620 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
1f640 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>);<
1f660 2f 73 70 61 6e 3e 0a 3c 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.
1f680 63 6c 61 73 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
1f6a0 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>.
1f6c0 3c 73 70 61 6e 20 63 6c 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
1f6e0 20 63 6c 61 73 73 3d 22 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
1f700 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-
1f720 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 26 71 75 6f 74 3b 3c 2f str">&quot;comptime.vars&quot;</
1f740 73 70 61 6e 3e 20 7b 3c 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
1f760 22 3e 20 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</
1f780 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">
1f7a0 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
1f7c0 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
1f7e0 73 73 3d 22 6c 69 6e 65 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
1f800 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 22 w">comptime</span>.<span.class="
1f820 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">var</span>.y:.<span.clas
1f840 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.
1f860 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
1f880 61 6e 3e 0a 3c 73 70 61 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>.<
1f8a0 73 70 61 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 span.class="line">....x.+=.<span
1f8c0 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
1f8e0 70 61 6e 3e 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 pan>.<span.class="line">....y.+=
1f900 20 3c 73 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
1f920 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"></
1f940 73 70 61 6e 3e 0a 3c 73 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
1f960 61 6e 20 63 6c 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
1f980 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 65 72 ect(x.==.<span.class="tok-number
1f9a0 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=
1f9c0 22 6c 69 6e 65 22 3e 20 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">
1f9e0 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 61 try</span>.expect(y.==.<span.cla
1fa00 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 6e ss="tok-number">2</span>);</span
1fa20 3e 0a 3c 73 70 61 6e 20 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
1fa40 61 6e 20 63 6c 61 73 73 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=
1fa60 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 79 20 21 3d 20 3c 73 70 61 6e 20 63 "tok-kw">if</span>.(y.!=.<span.c
1fa80 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 7b 3c 2f 73 lass="tok-number">2</span>).{</s
1faa0 70 61 6e 3e 0a 3c 73 70 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">........
1fac0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 <span.class="tok-comment">//.Thi
1fae0 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 6e 65 76 65 72 20 74 72 69 67 67 65 72 73 20 62 s.compile.error.never.triggers.b
1fb00 65 63 61 75 73 65 20 79 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 61 72 69 61 62 6c 65 2c ecause.y.is.a.comptime.variable,
1fb20 3c 2f 73 70 61 6e 3e 3c 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
1fb40 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
1fb60 6e 74 22 3e 2f 2f 20 61 6e 64 20 73 6f 20 60 79 20 21 3d 20 32 60 20 69 73 20 61 20 63 6f 6d 70 nt">//.and.so.`y.!=.2`.is.a.comp
1fb80 74 69 6d 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 69 73 20 69 66 20 69 73 20 73 74 61 74 69 time.value,.and.this.if.is.stati
1fba0 63 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cally.evaluated.</span></span>.<
1fbc0 73 70 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.
1fbe0 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
1fc00 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">&
1fc20 71 75 6f 74 3b 77 72 6f 6e 67 20 79 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 quot;wrong.y.value&quot;</span>)
1fc40 3b 3c 2f 73 70 61 6e 3e 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">....
1fc60 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 }</span>.<span.class="line">}</s
1fc80 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
1fca0 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">
1fcc0 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
1fce0 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.
1fd00 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c comptime_vars.zig</kbd></span>.<
1fd20 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
1fd40 3b 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e ;comptime.vars&quot;....OK</span
1fd60 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
1fd80 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
1fda0 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 68 32 20 igure>......................<h2.
1fdc0 69 64 3d 22 49 6e 74 65 67 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c id="Integers"><a.href="nav.xhtml
1fde0 23 74 6f 63 2d 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 61 20 63 #toc-Integers">Integers</a>.<a.c
1fe00 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e c2 a7 3c 2f lass="hdr".href="#Integers">..</
1fe20 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4c a></h2>........<h3.id="Integer-L
1fe40 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d iterals"><a.href="nav.xhtml#toc-
1fe60 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 Integer-Literals">Integer.Litera
1fe80 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 ls</a>.<a.class="hdr".href="#Int
1fea0 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 eger-Literals">..</a></h3>......
1fec0 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
1fee0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 65 67 65 72 -cap"><cite.class="file">integer
1ff00 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
1ff20 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"><
1ff40 73 70 61 6e 20 63 6c 61 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>
1ff60 20 64 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 .decimal_int.=.<span.class="tok-
1ff80 6e 75 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 number">98222</span>;</span>.<sp
1ffa0 61 6e 20 63 6c 61 73 73 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
1ffc0 2d 6b 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 -kw">const</span>.hex_int.=.<spa
1ffe0 6e 20 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 n.class="tok-number">0xff</span>
20000 3b 3c 2f 73 70 61 6e 3e 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
20020 6e 20 63 6c 61 73 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
20040 6f 74 68 65 72 5f 68 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b other_hex_int.=.<span.class="tok
20060 2d 6e 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 -number">0xFF</span>;</span>.<sp
20080 61 6e 20 63 6c 61 73 73 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
200a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 63 74 61 6c 5f 69 6e 74 20 3d 20 3c 73 -kw">const</span>.octal_int.=.<s
200c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 35 35 3c 2f 73 70 pan.class="tok-number">0o755</sp
200e0 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"><
20100 73 70 61 6e 20 63 6c 61 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>
20120 20 62 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 .binary_int.=.<span.class="tok-n
20140 75 6d 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 umber">0b11110000</span>;</span>
20160 0a 3c 73 70 61 6e 20 63 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
20180 6e 20 63 6c 61 73 73 3d 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-
201a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 comment">//.underscores.may.be.p
201c0 6c 61 63 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 laced.between.two.digits.as.a.vi
201e0 73 75 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 sual.separator</span></span>.<sp
20200 61 6e 20 63 6c 61 73 73 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
20220 2d 6b 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 -kw">const</span>.one_billion.=.
20240 3c 73 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 <span.class="tok-number">1_000_0
20260 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
20280 73 3d 22 6c 69 6e 65 22 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
202a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 6d 61 73 6b 20 3d 20 3c 73 70 61 6e 20 63 nst</span>.binary_mask.=.<span.c
202c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 5f 31 31 31 31 5f 31 31 31 31 3c lass="tok-number">0b1_1111_1111<
202e0 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
20300 22 3e 3c 73 70 61 6e 20 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
20320 61 6e 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 an>.permissions.=.<span.class="t
20340 6f 6b 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 ok-number">0o7_5_5</span>;</span
20360 3e 0a 3c 73 70 61 6e 20 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
20380 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 67 5f 61 64 64 72 65 ="tok-kw">const</span>.big_addre
203a0 73 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 ss.=.<span.class="tok-number">0x
203c0 46 46 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 FF80_0000_0000_0000</span>;</spa
203e0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a n></code></pre></figure>........
20400 20 20 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 ......<h3.id="Runtime-Integer-Va
20420 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 75 6e lues"><a.href="nav.xhtml#toc-Run
20440 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 time-Integer-Values">Runtime.Int
20460 65 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 eger.Values</a>.<a.class="hdr".h
20480 72 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e c2 a7 ref="#Runtime-Integer-Values">..
204a0 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 6e 74 65 67 </a></h3>........<p>.......Integ
204c0 65 72 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 6e 6f 20 73 69 7a 65 20 6c 69 6d 69 74 61 74 er.literals.have.no.size.limitat
204e0 69 6f 6e 2c 20 61 6e 64 20 69 66 20 61 6e 79 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 ion,.and.if.any.undefined.behavi
20500 6f 72 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 or.occurs,.......the.compiler.ca
20520 74 63 68 65 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 tches.it........</p>.......<p>..
20540 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 6f 6e 63 65 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 .....However,.once.an.integer.va
20560 6c 75 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c lue.is.no.longer.known.at.compil
20580 65 2d 74 69 6d 65 2c 20 69 74 20 6d 75 73 74 20 68 61 76 65 20 61 0a 20 20 20 20 20 20 6b 6e 6f e-time,.it.must.have.a.......kno
205a0 77 6e 20 73 69 7a 65 2c 20 61 6e 64 20 69 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 75 6e wn.size,.and.is.vulnerable.to.un
205c0 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 defined.behavior........</p>....
205e0 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
20600 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d g-cap"><cite.class="file">runtim
20620 65 5f 76 73 5f 63 6f 6d 70 74 69 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 e_vs_comptime.zig</cite></figcap
20640 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
20660 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
20680 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 69 76 69 64 65 3c 2f 73 >.<span.class="tok-fn">divide</s
206a0 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 pan>(a:.<span.class="tok-type">i
206c0 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 32</span>,.b:.<span.class="tok-t
206e0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">i32</span>).<span.class="to
20700 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
20720 6e 20 63 6c 61 73 73 3d 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="
20740 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2f 20 62 3b 3c 2f 73 70 tok-kw">return</span>.a./.b;</sp
20760 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><
20780 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a /code></pre></figure>.......<p>.
207a0 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 76 61 6c 75 65 73 20 3c ......In.this.function,.values.<
207c0 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>
207e0 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </code>.and.<code><span.class="l
20800 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 6b 6e 6f 77 6e 20 6f ine">b</span></code>.are.known.o
20820 6e 6c 79 20 61 74 20 72 75 6e 74 69 6d 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 nly.at.runtime,.......and.thus.t
20840 68 69 73 20 64 69 76 69 73 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 76 75 6c 6e 65 72 his.division.operation.is.vulner
20860 61 62 6c 65 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f able.to.both.<a.href="#Integer-O
20880 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 61 6e verflow">Integer.Overflow</a>.an
208a0 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 d.......<a.href="#Division-by-Ze
208c0 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 ro">Division.by.Zero</a>........
208e0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 6f 72 73 20 73 </p>.......<p>.......Operators.s
20900 75 63 68 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 uch.as.<code><span.class="line">
20920 2b 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.
20940 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 3e 20 63 61 75 class="line">-</span></code>.cau
20960 73 65 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 6e 0a 20 20 20 20 20 20 69 se.undefined.behavior.on.......i
20980 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 2e 20 41 6c 74 65 72 6e 61 74 69 76 65 20 6f 70 65 nteger.overflow..Alternative.ope
209a0 72 61 74 6f 72 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 77 72 61 70 70 69 6e 67 rators.are.provided.for.wrapping
209c0 20 61 6e 64 20 73 61 74 75 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 20 6f 6e 20 61 6c .and.saturating.arithmetic.on.al
209e0 6c 20 74 61 72 67 65 74 73 2e 20 20 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 l.targets..........<code><span.c
20a00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 lass="line">+%</span></code>.and
20a20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 2f 73 70 .<code><span.class="line">-%</sp
20a40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 77 72 61 70 70 69 6e 67 20 61 72 69 74 an></code>.perform.wrapping.arit
20a60 68 6d 65 74 69 63 0a 20 20 20 20 20 20 77 68 69 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 hmetic.......while.<code><span.c
20a80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 lass="line">+|</span></code>.and
20aa0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 7c 3c 2f 73 70 .<code><span.class="line">-|</sp
20ac0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 73 61 74 75 72 61 74 69 6e 67 20 61 72 an></code>.perform.saturating.ar
20ae0 69 74 68 6d 65 74 69 63 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ithmetic........</p>.......<p>..
20b00 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d .....Zig.supports.arbitrary.bit-
20b20 77 69 64 74 68 20 69 6e 74 65 67 65 72 73 2c 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 73 width.integers,.referenced.by.us
20b40 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 ing.......an.identifier.of.<code
20b60 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c >i</code>.or.<code>u</code>.foll
20b80 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 owed.by.digits..For.example,.the
20ba0 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .identifier.......<code><span.cl
20bc0 61 73 73 3d 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
20be0 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 ">i7</span></span></code>.refers
20c00 20 74 6f 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e 20 54 68 65 20 .to.a.signed.7-bit.integer..The.
20c20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f 66 20 61 6e 0a maximum.allowed.bit-width.of.an.
20c40 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 ......integer.type.is.<code><spa
20c60 6e 20 63 6c 61 73 73 3d 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-
20c80 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 number">65535</span></span></cod
20ca0 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
20cc0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 :</p><ul>.<li><a.href="#Wrapping
20ce0 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 -Operations">Wrapping.Operations
20d00 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 0a 20 </a></li>.</ul>.................
20d20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 46 6c 6f 61 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 .....<h2.id="Floats"><a.href="na
20d40 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 3c v.xhtml#toc-Floats">Floats</a>.<
20d60 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e c2 a7 3c a.class="hdr".href="#Floats">..<
20d80 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 68 61 73 20 74 68 65 20 66 /a></h2>........<p>Zig.has.the.f
20da0 6f 6c 6c 6f 77 69 6e 67 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 73 3a 3c 2f ollowing.floating.point.types:</
20dc0 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
20de0 65 3e 3c 73 70 61 6e 20 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
20e00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-type">f16</span></span></c
20e20 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 6c ode>.-.IEEE-754-2008.binary16</l
20e40 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
20e60 73 73 3d 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"
20e80 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 >f32</span></span></code>.-.IEEE
20ea0 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 33 32 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 -754-2008.binary32</li>.........
20ec0 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"><
20ee0 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>
20f00 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
20f20 69 6e 61 72 79 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 inary64</li>...........<li><code
20f40 3e 3c 73 70 61 6e 20 63 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=
20f60 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 2f 63 "tok-type">f128</span></span></c
20f80 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f ode>.-.IEEE-754-2008.binary128</
20fa0 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
20fc0 61 73 73 3d 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
20fe0 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 3e 3c 2f 63 6f ">c_longdouble</span></span></co
21000 64 65 3e 20 2d 20 6d 61 74 63 68 65 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f de>.-.matches.<code.class="c">lo
21020 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 ng.double</code>.for.the.target.
21040 43 20 41 42 49 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 33 C.ABI</li>.......</ul>.......<h3
21060 20 69 64 3d 22 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 .id="Float-Literals"><a.href="na
21080 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 46 6c 6f 61 v.xhtml#toc-Float-Literals">Floa
210a0 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 72 t.Literals</a>.<a.class="hdr".hr
210c0 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 3e ef="#Float-Literals">..</a></h3>
210e0 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 73 ........<p>.......Float.literals
21100 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 69 .have.type.<code><span.class="li
21120 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 ne"><span.class="tok-type">compt
21140 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 77 ime_float</span></span></code>.w
21160 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 20 hich.is.guaranteed.to.have......
21180 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 6f .the.same.precision.and.operatio
211a0 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 67 ns.of.the.largest.other.floating
211c0 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 64 .point.type,.which.is.......<cod
211e0 65 3e 3c 73 70 61 6e 20 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
21200 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 2f ="tok-type">f128</span></span></
21220 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>.....
21240 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 2d ..Float.literals.<a.href="#Type-
21260 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 61 Coercion">coerce</a>.to.any.floa
21280 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 6e ting.point.type,.......and.to.an
212a0 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 61 y.<a.href="#Integers">integer</a
212c0 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 6e >.type.when.there.is.no.fraction
212e0 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 3c al.component........</p>.......<
21300 66 69 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
21320 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 65 p"><cite.class="file">float_lite
21340 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 65 rals.zig</cite></figcaption><pre
21360 3e 3c 63 6f 64 65 3e 3c 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.
21380 63 6c 61 73 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 61 class="tok-kw">const</span>.floa
213a0 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
213c0 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 3c mber">123.0E+77</span>;</span>.<
213e0 73 70 61 6e 20 63 6c 61 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
21400 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 61 ok-kw">const</span>.another_floa
21420 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 33 t.=.<span.class="tok-number">123
21440 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 6c .0</span>;</span>.<span.class="l
21460 69 6e 65 22 3e 3c 73 70 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<
21480 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 73 /span>.yet_another.=.<span.class
214a0 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 3c ="tok-number">123.0e+77</span>;<
214c0 2f 73 70 61 6e 3e 0a 3c 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
214e0 3e 0a 3c 73 70 61 6e 20 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
21500 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 74 ="tok-kw">const</span>.hex_float
21520 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 6d ing_point.=.<span.class="tok-num
21540 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 0a ber">0x103.70p-5</span>;</span>.
21560 3c 73 70 61 6e 20 63 6c 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="
21580 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 78 tok-kw">const</span>.another_hex
215a0 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 72 _float.=.<span.class="tok-number
215c0 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 20 ">0x103.70</span>;</span>.<span.
215e0 63 6c 61 73 73 3d 22 6c 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
21600 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 66 ">const</span>.yet_another_hex_f
21620 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e loat.=.<span.class="tok-number">
21640 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 6e 0x103.70P-5</span>;</span>.<span
21660 20 63 6c 61 73 73 3d 22 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
21680 73 3d 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
216a0 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 20 t">//.underscores.may.be.placed.
216c0 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 73 between.two.digits.as.a.visual.s
216e0 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 61 eparator</span></span>.<span.cla
21700 73 73 3d 22 6c 69 6e 65 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
21720 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 63 onst</span>.lightspeed.=.<span.c
21740 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 30 lass="tok-number">299_792_458.00
21760 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 73 0_000</span>;</span>.<span.class
21780 3d 22 6c 69 6e 65 22 3e 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
217a0 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 61 st</span>.nanosecond.=.<span.cla
217c0 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 73 ss="tok-number">0.000_000_001</s
217e0 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">
21800 3c 73 70 61 6e 20 63 6c 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
21820 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 75 >.more_hex.=.<span.class="tok-nu
21840 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 3c mber">0x1234_5678.9ABC_CDEFp-10<
21860 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 67 /span>;</span></code></pre></fig
21880 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f ure>.......<p>.......There.is.no
218a0 20 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 69 6e 66 69 6e 69 74 79 2c 20 6f 72 20 6e 65 .syntax.for.NaN,.infinity,.or.ne
218c0 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 74 68 65 73 65 20 73 70 65 63 69 gative.infinity..For.these.speci
218e0 61 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6d 75 73 74 20 75 73 65 20 74 68 al.values,.......one.must.use.th
21900 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 e.standard.library:.......</p>..
21920 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="
21940 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 zig-cap"><cite.class="file">floa
21960 74 5f 73 70 65 63 69 61 6c 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 t_special_values.zig</cite></fig
21980 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="
219a0 6c 69 6e 65 22 3e 3c 73 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
219c0 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
219e0 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
21a00 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
21a20 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">
21a40 3c 2f 73 70 61 6e 3e 0a 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
21a60 20 63 6c 61 73 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 66 .class="tok-kw">const</span>.inf
21a80 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 6b .=.std.math.inf(<span.class="tok
21aa0 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 6e -type">f32</span>);</span>.<span
21ac0 20 63 6c 61 73 73 3d 22 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
21ae0 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 2d w">const</span>.negative_inf.=.-
21b00 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 79 std.math.inf(<span.class="tok-ty
21b20 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 6c pe">f64</span>);</span>.<span.cl
21b40 61 73 73 3d 22 6c 69 6e 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">
21b60 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 28 const</span>.nan.=.std.math.nan(
21b80 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
21ba0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 n>);</span></code></pre></figure
21bc0 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 2d >..............<h3.id="Floating-
21be0 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 6e 61 76 2e 78 Point-Operations"><a.href="nav.x
21c00 68 74 6d 6c 23 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f html#toc-Floating-Point-Operatio
21c20 6e 73 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 ns">Floating.Point.Operations</a
21c40 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 >.<a.class="hdr".href="#Floating
21c60 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a -Point-Operations">..</a></h3>..
21c80 20 20 20 20 20 20 3c 70 3e 42 79 20 64 65 66 61 75 6c 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 ......<p>By.default.floating.poi
21ca0 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c nt.operations.use.<code><span.cl
21cc0 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ass="line">Strict</span></code>.
21ce0 6d 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 62 75 74 20 79 6f 75 20 63 61 6e 20 73 77 69 74 mode,...........but.you.can.swit
21d00 63 68 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f ch.to.<code><span.class="line">O
21d20 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e 20 61 ptimized</span></code>.mode.on.a
21d40 20 70 65 72 2d 62 6c 6f 63 6b 20 62 61 73 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .per-block.basis:</p>.......<fig
21d60 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">
21d80 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6f 6f 2e 7a 69 67 3c 2f 63 69 74 65 <cite.class="file">foo.zig</cite
21da0 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
21dc0 6c 61 73 73 3d 22 6c 69 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"
21de0 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=
21e00 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
21e20 61 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
21e40 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="
21e60 6c 69 6e 65 22 3e 3c 73 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
21e80 3c 2f 73 70 61 6e 3e 20 62 69 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.big.=.<span.class="tok-b
21ea0 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uiltin">@as</span>(<span.class="
21ec0 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 61 6e 20 63 6c 61 73 tok-type">f64</span>,.<span.clas
21ee0 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 26 6c 74 3b s="tok-number">1</span>.&lt;&lt;
21f00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 30 3c 2f 73 70 .<span.class="tok-number">40</sp
21f20 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">
21f40 3c 2f 73 70 61 6e 3e 0a 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
21f60 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
21f80 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
21fa0 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 74 3c 2f 73 70 an.class="tok-fn">foo_strict</sp
21fc0 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 an>(x:.<span.class="tok-type">f6
21fe0 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 65 22 4</span>).<span.class="tok-type"
22000 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >f64</span>.{</span>.<span.class
22020 3d 22 6c 69 6e 65 22 3e 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"
22040 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 62 69 67 3b 3c 2f 73 >return</span>.x.+.big.-.big;</s
22060 70 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>
22080 0a 3c 73 70 61 6e 20 63 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
220a0 6e 20 63 6c 61 73 73 3d 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-
220c0 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
220e0 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
22100 6b 2d 66 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 k-fn">foo_optimized</span>(x:.<s
22120 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 29 pan.class="tok-type">f64</span>)
22140 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 .<span.class="tok-type">f64</spa
22160 6e 3e 20 7b 3c 2f 73 70 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">.
22180 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 73 65 ...<span.class="tok-builtin">@se
221a0 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 73 70 61 6e 3e 28 2e 4f 70 74 69 6d 69 7a 65 64 29 3b 3c 2f tFloatMode</span>(.Optimized);</
221c0 73 70 61 6e 3e 0a 3c 73 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
221e0 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>.
22200 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 61 6e 20 63 6c 61 73 x.+.big.-.big;</span>.<span.clas
22220 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></
22240 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
22260 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><
22280 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">$.<
222a0 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 66 6f 6f 2e 7a 69 67 20 2d 4f 20 52 65 6c kbd>zig.build-obj.foo.zig.-O.Rel
222c0 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 61 6d 70 3e 3c 2f 70 easeFast</kbd></span>.</samp></p
222e0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 74 68 69 73 20 74 re></figure>.......<p>For.this.t
22300 65 73 74 20 77 65 20 68 61 76 65 20 74 6f 20 73 65 70 61 72 61 74 65 20 63 6f 64 65 20 69 6e 74 est.we.have.to.separate.code.int
22320 6f 20 74 77 6f 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 2d 0a 20 20 20 20 20 20 6f 74 68 65 72 o.two.object.files.-.......other
22340 77 69 73 65 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 66 69 67 75 72 65 73 20 6f 75 74 20 61 wise.the.optimizer.figures.out.a
22360 6c 6c 20 74 68 65 20 76 61 6c 75 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 ll.the.values.at.compile-time,..
22380 20 20 20 20 20 77 68 69 63 68 20 6f 70 65 72 61 74 65 73 20 69 6e 20 73 74 72 69 63 74 20 6d 6f .....which.operates.in.strict.mo
223a0 64 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f de.</p>.......<figure><figcaptio
223c0 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
223e0 69 6c 65 22 3e 66 6c 6f 61 74 5f 6d 6f 64 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ile">float_mode.zig</cite></figc
22400 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
22420 69 6e 65 22 3e 3c 73 70 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<
22440 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-
22460 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
22480 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
224a0 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.
224c0 63 6c 61 73 73 3d 22 6c 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
224e0 3d 22 6c 69 6e 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
22500 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ern</span>.<span.class="tok-kw">
22520 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
22540 6f 6f 5f 73 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d oo_strict</span>(x:.<span.class=
22560 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">f64</span>).<span.cla
22580 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-type">f64</span>;</span>
225a0 0a 3c 73 70 61 6e 20 63 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=
225c0 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
225e0 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
22600 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 s="tok-fn">foo_optimized</span>(
22620 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 x:.<span.class="tok-type">f64</s
22640 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 pan>).<span.class="tok-type">f64
22660 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
22680 65 22 3e 3c 2f 73 70 61 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
226a0 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
226c0 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
226e0 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>().
22700 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
22720 6e 3e 20 7b 3c 2f 73 70 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">.
22740 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
22760 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>.x.=.<span.class="tok-number
22780 22 3e 30 2e 30 30 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">0.001</span>;</span>.<span.cla
227a0 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=
227c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6d 69 7a 65 64 20 3d 20 7b 7d 5c 6e "tok-str">&quot;optimized.=.{}\n
227e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 28 78 &quot;</span>,..{foo_optimized(x
22800 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 )});</span>.<span.class="line">.
22820 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
22840 71 75 6f 74 3b 73 74 72 69 63 74 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c quot;strict.=.{}\n&quot;</span>,
22860 20 2e 7b 66 6f 6f 5f 73 74 72 69 63 74 28 78 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ..{foo_strict(x)});</span>.<span
22880 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
228a0 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.
228c0 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
228e0 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
22900 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 66 6c 6f 61 74 5f 6d 6f 64 ">$.<kbd>zig.build-exe.float_mod
22920 65 2e 7a 69 67 20 66 6f 6f 2e 6f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.zig.foo.o</kbd></span>.<span.c
22940 6c 61 73 73 3d 22 6c 69 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=
22960 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 66 6c 6f 61 74 5f 6d 6f 64 65 3c 2f 6b 62 64 3e "line">$.<kbd>./float_mode</kbd>
22980 3c 2f 73 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 6d </span>.<span.class="line">optim
229a0 69 7a 65 64 20 3d 20 31 2e 30 65 2d 30 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ized.=.1.0e-03</span>.<span.clas
229c0 73 3d 22 6c 69 6e 65 22 3e 73 74 72 69 63 74 20 3d 20 39 2e 37 36 35 36 32 35 65 2d 30 34 3c 2f s="line">strict.=.9.765625e-04</
229e0 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>....
22a00 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
22a20 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 ref="#setFloatMode">@setFloatMod
22a40 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 44 69 76 69 73 69 6f e</a></li>.<li><a.href="#Divisio
22a60 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 3c 2f 61 3e 3c n-by-Zero">Division.by.Zero</a><
22a80 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 /li>.</ul>......................
22aa0 3c 68 32 20 69 64 3d 22 4f 70 65 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e <h2.id="Operators"><a.href="nav.
22ac0 78 68 74 6d 6c 23 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f xhtml#toc-Operators">Operators</
22ae0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f a>.<a.class="hdr".href="#Operato
22b00 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 rs">..</a></h2>........<p>......
22b20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6f 70 65 72 61 74 6f 72 20 6f 76 65 72 6c 6f 61 64 69 6e .There.is.no.operator.overloadin
22b40 67 2e 20 57 68 65 6e 20 79 6f 75 20 73 65 65 20 61 6e 20 6f 70 65 72 61 74 6f 72 20 69 6e 20 5a g..When.you.see.an.operator.in.Z
22b60 69 67 2c 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 0a 20 20 20 20 20 20 69 74 20 69 73 20 64 6f ig,.you.know.that.......it.is.do
22b80 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 66 72 6f 6d 20 74 68 69 73 20 74 61 62 6c 65 2c 20 61 ing.something.from.this.table,.a
22ba0 6e 64 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 nd.nothing.else........</p>.....
22bc0 20 20 3c 68 33 20 69 64 3d 22 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 3c 61 ..<h3.id="Table-of-Operators"><a
22be0 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f 70 .href="nav.xhtml#toc-Table-of-Op
22c00 65 72 61 74 6f 72 73 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 20 erators">Table.of.Operators</a>.
22c20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d 4f <a.class="hdr".href="#Table-of-O
22c40 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 perators">..</a></h3>........<di
22c60 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c v.class="table-wrapper">.......<
22c80 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 54 61 62 6c 65 20 6f 66 table>.........<caption>Table.of
22ca0 20 4f 70 65 72 61 74 6f 72 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 .Operators</caption>.........<th
22cc0 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 ead>.........<tr>...........<th.
22ce0 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 79 6e 74 61 78 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 scope="col">Syntax</th>.........
22d00 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 6c 65 76 61 6e 74 20 54 79 70 65 73 ..<th.scope="col">Relevant.Types
22d20 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 3e </th>...........<th.scope="col">
22d40 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 Description</th>...........<th.s
22d60 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 78 61 6d 70 6c 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 cope="col">Example</th>.........
22d80 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c </tr>.........</thead>.........<
22da0 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 tbody>.........<tr>...........<t
22dc0 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 h.scope="row"><pre><code><span.c
22de0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">a.+.b</span>.<span.c
22e00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="line">a.+=.b</span></code>
22e20 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>......
22e40 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
22e60 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></
22e80 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 li>...............<li><a.href="#
22ea0 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 Floats">Floats</a></li>.........
22ec0 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>.......
22ee0 20 20 20 20 3c 74 64 3e 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 ....<td>Addition..............<u
22f00 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c l>...............<li>Can.cause.<
22f20 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 a.href="#Default-Operations">ove
22f40 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 rflow</a>.for.integers.</li>....
22f60 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 ...........<li>Invokes.<a.href="
22f80 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
22fa0 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 .Resolution</a>.for.the.operands
22fc0 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 .</li>...............<li>See.als
22fe0 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 o.<a.href="#addWithOverflow">@ad
23000 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 dWithOverflow</a>.</li>.........
23020 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>.......
23040 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>
23060 3c 73 70 61 6e 20 63 6c 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="
23080 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 tok-number">2</span>.+.<span.cla
230a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 ss="tok-number">5</span>.==.<spa
230c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-number">7</span></s
230e0 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
23100 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>....
23120 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
23140 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 20 62 3c 2f 73 70 61 e><span.class="line">a.+%.b</spa
23160 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 3d 20 62 3c 2f 73 n>.<span.class="line">a.+%=.b</s
23180 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 pan></code></pre></th>..........
231a0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 .<td>.............<ul>..........
231c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 .....<li><a.href="#Integers">Int
231e0 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e egers</a></li>.............</ul>
23200 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 57 ...........</td>...........<td>W
23220 72 61 70 70 69 6e 67 20 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 rapping.Addition..............<u
23240 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 l>...............<li>Guaranteed.
23260 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 to.have.twos-complement.wrapping
23280 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .behavior.</li>...............<l
232a0 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
232c0 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</
232e0 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>.......
23300 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 ........<li>See.also.<a.href="#a
23320 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 ddWithOverflow">@addWithOverflow
23340 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 </a>.</li>.............</ul>....
23360 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</td>...........<td>.....
23380 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="
233a0 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">
233c0 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
233e0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 ">u32</span>,.std.math.maxInt(<s
23400 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">u32</span>)
23420 29 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c ).+%.<span.class="tok-number">1<
23440 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>.==.<span.class="tok-numbe
23460 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a r">0</span></span></code></pre>.
23480 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>...
234a0 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="
234c0 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e row"><pre><code><span.class="lin
234e0 65 22 3e 61 20 2b 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">a.+|.b</span>.<span.class="li
23500 6e 65 22 3e 61 20 2b 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ne">a.+|=.b</span></code></pre><
23520 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 20 /th>...........<td>.............
23540 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 <ul>...............<li><a.href="
23560 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 #Integers">Integers</a></li>....
23580 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>..
235a0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 41 64 64 69 74 69 6f 6e .........<td>Saturating.Addition
235c0 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>..............
235e0 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 .<li>Invokes.<a.href="#Peer-Type
23600 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f -Resolution">Peer.Type.Resolutio
23620 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 n</a>.for.the.operands.</li>....
23640 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>..
23660 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><
23680 63 6f 64 65 3e 3c 73 70 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
236a0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 ass="tok-builtin">@as</span>(<sp
236c0 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>,.
236e0 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b std.math.maxInt(<span.class="tok
23700 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 2b 7c 20 3c 73 70 61 6e 20 63 6c 61 -type">u32</span>)).+|.<span.cla
23720 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 ss="tok-number">1</span>.==.<spa
23740 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e n.class="tok-builtin">@as</span>
23760 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 (<span.class="tok-type">u32</spa
23780 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>,.std.math.maxInt(<span.class=
237a0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 3c 2f 73 70 61 6e 3e 3c 2f "tok-type">u32</span>))</span></
237c0 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>.....
237e0 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>..........
23800 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
23820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">a.-.b</span>.<spa
23840 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="line">a.-=.b</span></co
23860 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>...
23880 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
238a0 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
238c0 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
238e0 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>......
23900 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>....
23920 20 20 20 20 20 20 20 3c 74 64 3e 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 .......<td>Subtraction..........
23940 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
23960 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
23980 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
239a0 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.
239c0 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
239e0 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
23a00 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
23a20 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f ee.also.<a.href="#subWithOverflo
23a40 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 w">@subWithOverflow</a>.</li>...
23a60 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>.
23a80 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>
23aa0 3c 63 6f 64 65 3e 3c 73 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
23ac0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 lass="tok-number">2</span>.-.<sp
23ae0 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>.=
23b00 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 33 3c 2f 73 =.-<span.class="tok-number">3</s
23b20 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>........
23b40 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>.........<
23b60 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
23b80 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 2d 25 re><code><span.class="line">a.-%
23ba0 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 2d .b</span>.<span.class="line">a.-
23bc0 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 %=.b</span></code></pre></th>...
23be0 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ........<td>.............<ul>...
23c00 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 ............<li><a.href="#Intege
23c20 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 rs">Integers</a></li>...........
23c40 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>.........
23c60 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 ..<td>Wrapping.Subtraction......
23c80 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 47 ........<ul>...............<li>G
23ca0 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e uaranteed.to.have.twos-complemen
23cc0 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 t.wrapping.behavior.</li>.......
23ce0 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 ........<li>Invokes.<a.href="#Pe
23d00 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
23d20 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f solution</a>.for.the.operands.</
23d40 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c li>...............<li>See.also.<
23d60 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 a.href="#subWithOverflow">@subWi
23d80 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 thOverflow</a>.</li>............
23da0 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>..........
23dc0 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
23de0 61 6e 20 63 6c 61 73 73 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
23e00 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 -builtin">@as</span>(<span.class
23e20 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 20 63 6c ="tok-type">u32</span>,.<span.cl
23e40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 2d 25 20 3c 73 ass="tok-number">0</span>).-%.<s
23e60 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>.
23e80 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ==.std.math.maxInt(<span.class="
23ea0 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-type">u32</span>)</span></co
23ec0 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>.......
23ee0 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>...........<
23f00 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.
23f20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">a.-|.b</span>.<span
23f40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="line">a.-|=.b</span></co
23f60 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>...
23f80 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ..........<ul>...............<li
23fa0 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 ><a.href="#Integers">Integers</a
23fc0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 ></li>.............</ul>........
23fe0 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 6e ...</td>...........<td>Saturatin
24000 67 20 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a g.Subtraction..............<ul>.
24020 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
24040 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
24060 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
24080 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 nds.</li>.............</ul>.....
240a0 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>......
240c0 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
240e0 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">@
24100 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 as</span>(<span.class="tok-type"
24120 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 75 >u32</span>,.<span.class="tok-nu
24140 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 2d 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mber">0</span>).-|.<span.class="
24160 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c tok-number">1</span>.==.<span.cl
24180 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>
241a0 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>...
241c0 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>........
241e0 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
24200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 pan.class="line">-a</span></code
24220 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>.....
24240 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><
24260 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c a.href="#Integers">Integers</a><
24280 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 /li>...............<li><a.href="
242a0 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 #Floats">Floats</a></li>........
242c0 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>......
242e0 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 67 61 74 69 6f 6e 2e 0a .....<td>.............Negation..
24300 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>...............<
24320 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f li>Can.cause.<a.href="#Default-O
24340 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 perations">overflow</a>.for.inte
24360 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 gers.</li>.............</ul>....
24380 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</td>...........<td>.....
243a0 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="
243c0 6c 69 6e 65 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e line">-<span.class="tok-number">
243e0 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 1</span>.==.<span.class="tok-num
24400 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ber">0</span>.-.<span.class="tok
24420 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -number">1</span></span></code><
24440 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>.........</
24460 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
24480 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
244a0 73 3d 22 6c 69 6e 65 22 3e 2d 25 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e s="line">-%a</span></code></pre>
244c0 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>............
244e0 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=
24500 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>...
24520 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>.
24540 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 72 61 70 70 ..........<td>.............Wrapp
24560 69 6e 67 20 4e 65 67 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 ing.Negation..............<ul>..
24580 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 .............<li>Guaranteed.to.h
245a0 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 ave.twos-complement.wrapping.beh
245c0 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 avior.</li>.............</ul>...
245e0 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>....
24600 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=
24620 22 6c 69 6e 65 22 3e 2d 25 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 "line">-%<span.class="tok-builti
24640 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
24660 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 ype">i32</span>,.std.math.minInt
24680 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 (<span.class="tok-type">i32</spa
246a0 6e 3e 29 29 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 3c 73 70 61 6e 20 63 6c n>)).==.std.math.minInt(<span.cl
246c0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e ass="tok-type">i32</span>)</span
246e0 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>..
24700 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>.......
24720 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><
24740 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 20 62 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">a.*.b</span>.<
24760 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 3d 20 62 3c 2f 73 70 61 6e 3e 3c span.class="line">a.*=.b</span><
24780 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>
247a0 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>...............
247c0 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
247e0 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
24800 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>...
24820 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>.
24840 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 ..........<td>Multiplication....
24860 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
24880 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
248a0 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
248c0 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
248e0 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
24900 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.
24920 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>..............
24940 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
24960 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>.</
24980 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>...........
249a0 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>............
249c0 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"><
249e0 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>
24a00 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 .*.<span.class="tok-number">5</s
24a20 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pan>.==.<span.class="tok-number"
24a40 3e 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 >10</span></span></code></pre>..
24a60 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>....
24a80 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
24aa0 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
24ac0 22 3e 61 20 2a 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">a.*%.b</span>.<span.class="lin
24ae0 65 22 3e 61 20 2a 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f e">a.*%=.b</span></code></pre></
24b00 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>.............<
24b20 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="#
24b40 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>.....
24b60 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>...
24b80 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 4d 75 6c 74 69 70 6c 69 63 61 74 ........<td>Wrapping.Multiplicat
24ba0 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 20 ion..............<ul>...........
24bc0 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d ....<li>Guaranteed.to.have.twos-
24be0 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c complement.wrapping.behavior.</l
24c00 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.
24c20 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
24c40 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
24c60 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
24c80 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f ee.also.<a.href="#mulWithOverflo
24ca0 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 w">@mulWithOverflow</a>.</li>...
24cc0 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>.
24ce0 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>
24d00 3c 63 6f 64 65 3e 3c 73 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
24d20 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
24d40 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>,.
24d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 <span.class="tok-number">200</sp
24d80 61 6e 3e 29 20 2a 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>).*%.<span.class="tok-number"
24da0 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >2</span>.==.<span.class="tok-nu
24dc0 6d 62 65 72 22 3e 31 34 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f mber">144</span></span></code></
24de0 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
24e00 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
24e20 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
24e40 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">a.*|.b</span>.<span.clas
24e60 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f s="line">a.*|=.b</span></code></
24e80 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>........
24ea0 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
24ec0 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
24ee0 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>...........</
24f00 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 4d 75 6c td>...........<td>Saturating.Mul
24f20 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 tiplication..............<ul>...
24f40 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d ............<li>Invokes.<a.href=
24f60 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 "#Peer-Type-Resolution">Peer.Typ
24f80 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 e.Resolution</a>.for.the.operand
24fa0 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 20 s.</li>.............</ul>.......
24fc0 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>........
24fe0 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
25000 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 73 e"><span.class="tok-builtin">@as
25020 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>(<span.class="tok-type">u
25040 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 8</span>,.<span.class="tok-numbe
25060 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r">200</span>).*|.<span.class="t
25080 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 ok-number">2</span>.==.<span.cla
250a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ss="tok-number">255</span></span
250c0 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>..
250e0 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>.......
25100 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><
25120 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 20 62 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">a./.b</span>.<
25140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 3d 20 62 3c 2f 73 70 61 6e 3e 3c span.class="line">a./=.b</span><
25160 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>
25180 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>...............
251a0 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
251c0 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
251e0 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>...
25200 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>.
25220 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 69 76 69 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 ..........<td>Division..........
25240 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
25260 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
25280 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
252a0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c i>...............<li>Can.cause.<
252c0 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 a.href="#Division-by-Zero">Divis
252e0 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c ion.by.Zero</a>.for.integers.</l
25300 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c i>...............<li>Can.cause.<
25320 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 a.href="#Division-by-Zero">Divis
25340 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 73 20 69 6e 20 3c 61 ion.by.Zero</a>.for.floats.in.<a
25360 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e .href="#Floating-Point-Operation
25380 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 64 20 4d 6f 64 65 3c 2f 61 3e 2e s">FloatMode.Optimized.Mode</a>.
253a0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 69 67 6e 65 64 20 69 </li>...............<li>Signed.i
253c0 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 nteger.operands.must.be.comptime
253e0 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 72 20 63 61 -known.and.positive..In.other.ca
25400 73 65 73 2c 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 ses,.use.................<a.href
25420 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 2c 0a 20 20 20 20 ="#divTrunc">@divTrunc</a>,.....
25440 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e ............<a.href="#divFloor">
25460 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 @divFloor</a>,.or...............
25480 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c ..<a.href="#divExact">@divExact<
254a0 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e /a>.instead................</li>
254c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 ...............<li>Invokes.<a.hr
254e0 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 ef="#Peer-Type-Resolution">Peer.
25500 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 Type.Resolution</a>.for.the.oper
25520 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 ands.</li>.............</ul>....
25540 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</td>...........<td>.....
25560 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="
25580 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 31 line"><span.class="tok-number">1
255a0 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 0</span>./.<span.class="tok-numb
255c0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b er">5</span>.==.<span.class="tok
255e0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -number">2</span></span></code><
25600 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>.........</
25620 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
25640 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
25660 73 3d 22 6c 69 6e 65 22 3e 61 20 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">a.%.b</span>.<span.clas
25680 73 3d 22 6c 69 6e 65 22 3e 61 20 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 s="line">a.%=.b</span></code></p
256a0 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 re></th>...........<td>.........
256c0 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 ....<ul>...............<li><a.hr
256e0 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e ef="#Integers">Integers</a></li>
25700 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f ...............<li><a.href="#Flo
25720 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ats">Floats</a></li>............
25740 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>..........
25760 20 3c 74 64 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 .<td>Remainder.Division.........
25780 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 .....<ul>...............<li>Can.
257a0 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f cause.<a.href="#Division-by-Zero
257c0 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 ">Division.by.Zero</a>.for.integ
257e0 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 ers.</li>...............<li>Can.
25800 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f cause.<a.href="#Division-by-Zero
25820 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 ">Division.by.Zero</a>.for.float
25840 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 s.in.<a.href="#Floating-Point-Op
25860 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 64 20 4d 6f erations">FloatMode.Optimized.Mo
25880 64 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 de</a>.</li>...............<li>S
258a0 69 67 6e 65 64 20 6f 72 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6f 70 65 72 61 6e 64 73 igned.or.floating-point.operands
258c0 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 6f 73 69 .must.be.comptime-known.and.posi
258e0 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 20 20 20 20 tive..In.other.cases,.use.......
25900 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 ..........<a.href="#rem">@rem</a
25920 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 6d >.or.................<a.href="#m
25940 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 20 od">@mod</a>.instead............
25960 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f ....</li>...............<li>Invo
25980 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
259a0 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
259c0 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>.............
259e0 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>...........
25a00 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
25a20 6e 20 63 6c 61 73 73 3d 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-
25a40 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d number">10</span>.%.<span.class=
25a60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 "tok-number">3</span>.==.<span.c
25a80 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 73 70 61 6e lass="tok-number">1</span></span
25aa0 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>..
25ac0 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>.......
25ae0 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><
25b00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f span.class="line">a.&lt;&lt;.b</
25b20 73 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 6c 74 3b 26 span>.<span.class="line">a.&lt;&
25b40 6c 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a lt;=.b</span></code></pre></th>.
25b60 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>.
25b80 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
25ba0 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>.........
25bc0 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>.......
25be0 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a 20 20 20 20 20 20 20 20 ....<td>Bit.Shift.Left..........
25c00 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f ....<ul>.................<li><co
25c20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">b</span></
25c40 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 code>.must.be.<a.href="#comptime
25c60 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 76 65 20 61 20 74 ">comptime-known</a>.or.have.a.t
25c80 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 61 73 20 ype.with.log2.number.of.bits.as.
25ca0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e <code><span.class="line">a</span
25cc0 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ></code>.</li>...............<li
25ce0 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 >See.also.<a.href="#shlExact">@s
25d00 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hlExact</a>.</li>...............
25d20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 <li>See.also.<a.href="#shlWithOv
25d40 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c erflow">@shlWithOverflow</a>.</l
25d60 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>...........<
25d80 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>.............
25da0 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
25dc0 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>.
25de0 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 &lt;&lt;.<span.class="tok-number
25e00 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">8</span>.==.<span.class="tok-n
25e20 75 6d 62 65 72 22 3e 32 35 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c umber">256</span></span></code><
25e40 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>.........</
25e60 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
25e80 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
25ea0 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 s="line">a.&lt;&lt;|.b</span>.<s
25ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c 3d 20 62 3c pan.class="line">a.&lt;&lt;|=.b<
25ee0 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>........
25f00 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>........
25f20 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
25f40 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
25f60 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
25f80 3e 53 61 74 75 72 61 74 69 6e 67 20 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a 20 20 20 20 >Saturating.Bit.Shift.Left......
25fa0 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 ........<ul>...............<li>S
25fc0 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c ee.also.<a.href="#shlExact">@shl
25fe0 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c Exact</a>.</li>...............<l
26000 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 i>See.also.<a.href="#shlWithOver
26020 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e flow">@shlWithOverflow</a>.</li>
26040 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
26060 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 d>...........<td>.............<p
26080 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
260a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e n.class="tok-builtin">@as</span>
260c0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e (<span.class="tok-type">u8</span
260e0 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 3c 2f 73 >,.<span.class="tok-number">1</s
26100 70 61 6e 3e 29 20 26 6c 74 3b 26 6c 74 3b 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>).&lt;&lt;|.<span.class="tok
26120 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 -number">8</span>.==.<span.class
26140 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ="tok-number">255</span></span><
26160 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>....
26180 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>.........
261a0 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
261c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 26 67 74 3b 20 62 3c 2f 73 70 an.class="line">a.&gt;&gt;.b</sp
261e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 26 67 74 an>.<span.class="line">a.&gt;&gt
26200 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 ;=.b</span></code></pre></th>...
26220 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ........<td>.............<ul>...
26240 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 ............<li><a.href="#Intege
26260 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 rs">Integers</a></li>...........
26280 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>.........
262a0 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 52 69 67 68 74 2e 0a 20 20 20 20 20 20 20 20 20 ..<td>Bit.Shift.Right...........
262c0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 ...<ul>.................<li><cod
262e0 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
26300 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 ode>.must.be.<a.href="#comptime"
26320 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 76 65 20 61 20 74 79 >comptime-known</a>.or.have.a.ty
26340 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 61 73 20 3c pe.with.log2.number.of.bits.as.<
26360 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>
26380 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e </code>.</li>...............<li>
263a0 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 See.also.<a.href="#shrExact">@sh
263c0 72 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 rExact</a>.</li>.............</u
263e0 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
26400 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
26420 6c 61 73 73 3d 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
26440 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c ber">10</span>.&gt;&gt;.<span.cl
26460 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 70 ass="tok-number">1</span>.==.<sp
26480 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 3c 2f an.class="tok-number">5</span></
264a0 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
264c0 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>...
264e0 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
26500 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 61 6d 70 3b 20 62 3c de><span.class="line">a.&amp;.b<
26520 2f 73 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 61 6d 70 /span>.<span.class="line">a.&amp
26540 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 ;=.b</span></code></pre></th>...
26560 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ........<td>.............<ul>...
26580 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 ............<li><a.href="#Intege
265a0 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 rs">Integers</a></li>...........
265c0 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>.........
265e0 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 41 4e 44 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ..<td>Bitwise.AND..............<
26600 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
26620 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
26640 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
26660 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>.
26680 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>..
266a0 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
266c0 73 3d 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
266e0 22 3e 30 62 30 31 31 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">0b011</span>.&amp;.<span.class
26700 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 ="tok-number">0b101</span>.==.<s
26720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 30 31 3c 2f 73 70 pan.class="tok-number">0b001</sp
26740 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>.........
26760 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
26780 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
267a0 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 7c 20 62 e><code><span.class="line">a.|.b
267c0 3c 2f 73 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 7c 3d 20 </span>.<span.class="line">a.|=.
267e0 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 b</span></code></pre></th>......
26800 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 .....<td>.............<ul>......
26820 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 .........<li><a.href="#Integers"
26840 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c >Integers</a></li>.............<
26860 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>...........<
26880 74 64 3e 42 69 74 77 69 73 65 20 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a td>Bitwise.OR..............<ul>.
268a0 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
268c0 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
268e0 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
26900 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 nds.</li>.............</ul>.....
26920 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>......
26940 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
26960 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 30 62 ine"><span.class="tok-number">0b
26980 30 31 30 3c 2f 73 70 61 6e 3e 20 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 010</span>.|.<span.class="tok-nu
269a0 6d 62 65 72 22 3e 30 62 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 mber">0b100</span>.==.<span.clas
269c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 s="tok-number">0b110</span></spa
269e0 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>.
26a00 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>......
26a20 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>
26a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 20 62 3c 2f 73 70 61 6e 3e 0a <span.class="line">a.^.b</span>.
26a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 3d 20 62 3c 2f 73 70 61 6e 3e <span.class="line">a.^=.b</span>
26a80 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
26aa0 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>..............
26ac0 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
26ae0 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>....
26b00 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 .......</td>...........<td>Bitwi
26b20 73 65 20 58 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 se.XOR..............<ul>........
26b40 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
26b60 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
26b80 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
26ba0 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>...........<
26bc0 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>.............
26be0 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
26c00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 31 3c 2f 73 70 pan.class="tok-number">0b011</sp
26c20 61 6e 3e 20 5e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 an>.^.<span.class="tok-number">0
26c40 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d b101</span>.==.<span.class="tok-
26c60 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 number">0b110</span></span></cod
26c80 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 e></pre>...........</td>........
26ca0 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
26cc0 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 h.scope="row"><pre><code><span.c
26ce0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 lass="line">~a</span></code></pr
26d00 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>..........
26d20 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
26d40 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>.
26d60 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
26d80 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 42 69 74 >...........<td>.............Bit
26da0 77 69 73 65 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 wise.NOT............</td>.......
26dc0 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>
26de0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">~<span.class=
26e00 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 "tok-builtin">@as</span>(<span.c
26e20 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
26e40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 31 31 31 3c 2f .class="tok-number">0b10101111</
26e60 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 span>).==.<span.class="tok-numbe
26e80 72 22 3e 30 62 30 31 30 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 r">0b01010000</span></span></cod
26ea0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 e></pre>...........</td>........
26ec0 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
26ee0 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 h.scope="row"><pre><code><span.c
26f00 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 6b lass="line">a.<span.class="tok-k
26f20 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e w">orelse</span>.b</span></code>
26f40 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>......
26f60 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
26f80 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 3e .href="#Optionals">Optionals</a>
26fa0 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>.........
26fc0 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 3c ..</td>...........<td>If.<code><
26fe0 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
27000 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 73 >.is.<code><span.class="line"><s
27020 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>
27040 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 20 </span></code>,.................
27060 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ......returns.<code><span.class=
27080 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 75 6c 74 "line">b</span></code>.("default
270a0 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .value"),.......................
270c0 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 6e 77 72 61 70 ....otherwise.returns.the.unwrap
270e0 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ped.value.of.<code><span.class="
27100 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 line">a</span></code>...........
27120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c .....................Note.that.<
27140 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>
27160 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c </code>.may.be.a.value.of.type.<
27180 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 2e a.href="#noreturn">noreturn</a>.
271a0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</td>...........<td>.
271c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ............<pre><code><span.cla
271e0 73 73 3d 22 6c 69 6e 65 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
27200 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d onst</span>.value:.?<span.class=
27220 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
27240 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ass="tok-null">null</span>;</spa
27260 6e 3e 0a 3c 73 70 61 6e 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
27280 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 s="tok-kw">const</span>.unwrappe
272a0 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f d.=.value.<span.class="tok-kw">o
272c0 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 6e 75 relse</span>.<span.class="tok-nu
272e0 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 20 mber">1234</span>;</span>.<span.
27300 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 61 6e 20 class="line">unwrapped.==.<span.
27320 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 3c 2f class="tok-number">1234</span></
27340 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
27360 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>...
27380 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
273a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 2e 3f 3c 2f 73 70 61 6e 3e de><span.class="line">a.?</span>
273c0 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
273e0 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>..............
27400 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e .<li><a.href="#Optionals">Option
27420 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 als</a></li>.............</ul>..
27440 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>...
27460 20 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 0a 20 20 20 20 20 20 20 ..........Equivalent.to:........
27480 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
274a0 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 e">a.<span.class="tok-kw">orelse
274c0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 </span>.<span.class="tok-kw">unr
274e0 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 eachable</span></span></code></p
27500 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 20 20 3c 74 re>...........</td>...........<t
27520 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.
27540 63 6c 61 73 73 3d 22 6c 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
27560 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 ">const</span>.value:.?<span.cla
27580 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
275a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b .class="tok-number">5678</span>;
275c0 3c 2f 73 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 </span>.<span.class="line">value
275e0 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 35 .?.==.<span.class="tok-number">5
27600 36 37 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 678</span></span></code></pre>..
27620 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>....
27640 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
27660 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
27680 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f ">a.<span.class="tok-kw">catch</
276a0 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.b</span>.<span.class="line
276c0 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f ">a.<span.class="tok-kw">catch</
276e0 73 70 61 6e 3e 20 7c 65 72 72 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 span>.|err|.b</span></code></pre
27700 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 20 ></th>...........<td>...........
27720 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 ..<ul>...............<li><a.href
27740 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e ="#Errors">Error.Unions</a></li>
27760 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
27780 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 d>...........<td>If.<code><span.
277a0 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 69 73 20 class="line">a</span></code>.is.
277c0 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 an.<code><span.class="line"><spa
277e0 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 2f 73 n.class="tok-kw">error</span></s
27800 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 20 20 20 20 pan></code>,....................
27820 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...returns.<code><span.class="li
27840 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 75 6c 74 20 76 61 ne">b</span></code>.("default.va
27860 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lue"),..........................
27880 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 .otherwise.returns.the.unwrapped
278a0 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .value.of.<code><span.class="lin
278c0 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 e">a</span></code>..............
278e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 ..................Note.that.<cod
27900 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
27920 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 61 20 68 ode>.may.be.a.value.of.type.<a.h
27940 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 2e 0a 20 20 ref="#noreturn">noreturn</a>....
27960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
27980 3c 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
279a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c an></code>.is.the.<code><span.cl
279c0 61 73 73 3d 22 6c 69 6e 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">
279e0 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 69 error</span></span></code>.and.i
27a00 73 20 69 6e 20 73 63 6f 70 65 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f s.in.scope.of.the.expression.<co
27a20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">b</span></
27a40 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 code>............</td>..........
27a60 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
27a80 61 6e 20 63 6c 61 73 73 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
27aa0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 -kw">const</span>.value:.<span.c
27ac0 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>!
27ae0 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
27b00 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</
27b20 73 70 61 6e 3e 2e 42 72 6f 6b 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>.Broken;</span>.<span.class
27b40 3d 22 6c 69 6e 65 22 3e 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
27b60 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 st</span>.unwrapped.=.value.<spa
27b80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 n.class="tok-kw">catch</span>.<s
27ba0 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
27bc0 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 75 6e n>;</span>.<span.class="line">un
27be0 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 wrapped.==.<span.class="tok-numb
27c00 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 3c 2f 70 er">1234</span></span></code></p
27c20 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 re>...........</td>.........</tr
27c40 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
27c60 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d pe="row"><pre><code><span.class=
27c80 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 61 6e "line">a.<span.class="tok-kw">an
27ca0 64 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f d</span>.b</span></code></pre></
27cc0 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>.............<
27ce0 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="#
27d00 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 Primitive-Types">bool</a></li>..
27d20 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>
27d40 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 20 20 49 66 ...........<td>...............If
27d60 20 3c 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 .<code><span.class="line">a</spa
27d80 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n></code>.is.<code><span.class="
27da0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c line"><span.class="tok-null">fal
27dc0 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 72 65 74 75 72 6e 73 se</span></span></code>,.returns
27de0 20 3c 63 6f 64 65 3e 3c 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.
27e00 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
27e20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan></code>.....................
27e40 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 3c 63 6f 64 65 3e 3c ......without.evaluating.<code><
27e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">b</span></code
27e80 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 >..Otherwise,.returns.<code><spa
27ea0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a n.class="line">b</span></code>..
27ec0 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>..
27ee0 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
27f00 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 s="line">(<span.class="tok-null"
27f20 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >false</span>.<span.class="tok-k
27f40 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e w">and</span>.<span.class="tok-n
27f60 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ull">true</span>).==.<span.class
27f80 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ="tok-null">false</span></span><
27fa0 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>....
27fc0 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>.........
27fe0 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
28000 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an.class="line">a.<span.class="t
28020 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ok-kw">or</span>.b</span></code>
28040 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>......
28060 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
28080 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 .href="#Primitive-Types">bool</a
280a0 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>........
280c0 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>.........
280e0 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......If.<code><span.class="line
28100 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ">a</span></code>.is.<code><span
28120 20 63 6c 61 73 73 3d 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
28140 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 2c 20 ull">true</span></span></code>,.
28160 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 returns.<code><span.class="line"
28180 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 70 ><span.class="tok-null">true</sp
281a0 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>...............
281c0 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.<
281e0 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>
28200 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
28220 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
28240 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>...........
28260 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
28280 6e 20 63 6c 61 73 73 3d 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-
282a0 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 22 null">false</span>.<span.class="
282c0 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">or</span>.<span.class="t
282e0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-null">true</span>.==.<span.cl
28300 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-null">true</span></span
28320 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>..
28340 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>.......
28360 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><
28380 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 span.class="line">!a</span></cod
283a0 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>....
283c0 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>
283e0 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 6c 3c <a.href="#Primitive-Types">bool<
28400 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>......
28420 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>.......
28440 20 20 20 20 20 20 42 6f 6f 6c 65 61 6e 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 ......Boolean.NOT............</t
28460 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 d>...........<td>.............<p
28480 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 21 3c 73 70 re><code><span.class="line">!<sp
284a0 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>
284c0 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<
284e0 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>......
28500 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>........
28520 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">
28540 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.
28560 3d 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 ==.b</span></code></pre></th>...
28580 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ........<td>.............<ul>...
285a0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 ............<li><a.href="#Intege
285c0 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 rs">Integers</a></li>...........
285e0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 ....<li><a.href="#Floats">Floats
28600 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
28620 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><
28640 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 /li>...............<li><a.href="
28660 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 74 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a #Primitive-Types">type</a></li>.
28680 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
286a0 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 20 20 52 >...........<td>...............R
286c0 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">
286e0 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
28700 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 n></span></code>.if.a.and.b.are.
28720 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c equal,.otherwise.returns.<code><
28740 73 70 61 6e 20 63 6c 61 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
28760 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
28780 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 de>..............Invokes.<a.href
287a0 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
287c0 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
287e0 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ds............</td>...........<t
28800 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.
28820 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e class="line">(<span.class="tok-n
28840 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 umber">1</span>.==.<span.class="
28860 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
28880 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 61 lass="tok-null">true</span></spa
288a0 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>.
288c0 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>......
288e0 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>
28900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c <span.class="line">a.==.<span.cl
28920 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-null">null</span></span
28940 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ></code></pre></th>...........<t
28960 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 d>.............<ul>.............
28980 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f ..<li><a.href="#Optionals">Optio
289a0 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a nals</a></li>.............</ul>.
289c0 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>..
289e0 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .............Returns.<code><span
28a00 20 63 6c 61 73 73 3d 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
28a20 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 ull">true</span></span></code>.i
28a40 66 20 61 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e f.a.is.<code><span.class="line">
28a60 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
28a80 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 72 65 74 75 n></span></code>,.otherwise.retu
28aa0 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
28ac0 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>
28ae0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a </span></code>............</td>.
28b00 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>
28b20 3c 63 6f 64 65 3e 3c 73 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
28b40 6c 61 73 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
28b60 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 :.?<span.class="tok-type">u32</s
28b80 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 pan>.=.<span.class="tok-null">nu
28ba0 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ll</span>;</span>.<span.class="l
28bc0 69 6e 65 22 3e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ine">value.==.<span.class="tok-n
28be0 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ull">null</span></span></code></
28c00 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
28c20 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
28c40 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
28c60 3d 22 6c 69 6e 65 22 3e 61 20 21 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ="line">a.!=.b</span></code></pr
28c80 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>..........
28ca0 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
28cc0 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>.
28ce0 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
28d00 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>.............
28d20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 ..<li><a.href="#Primitive-Types"
28d40 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 20 20 3c 6c 69 >bool</a></li>...............<li
28d60 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 74 79 70 65 ><a.href="#Primitive-Types">type
28d80 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 </a></li>.............</ul>.....
28da0 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 ......</td>...........<td>......
28dc0 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .........Returns.<code><span.cla
28de0 73 73 3d 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"
28e00 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 20 69 66 20 61 >false</span></span></code>.if.a
28e20 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 .and.b.are.equal,.otherwise.retu
28e40 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
28e60 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><
28e80 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 6b /span></code>..............Invok
28ea0 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
28ec0 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.
28ee0 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 20 the.operands............</td>...
28f00 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 ........<td>.............<pre><c
28f20 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 6c ode><span.class="line">(<span.cl
28f40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 21 3d 20 3c 73 70 ass="tok-number">1</span>.!=.<sp
28f60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">1</span>).
28f80 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 65 3c ==.<span.class="tok-null">false<
28fa0 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>......
28fc0 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>........
28fe0 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">
29000 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.
29020 26 67 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a &gt;.b</span></code></pre></th>.
29040 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>.
29060 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
29080 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>.........
290a0 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
290c0 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>...
290e0 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>....
29100 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
29120 6c 61 73 73 3d 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
29140 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.
29160 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 a.is.greater.than.b,.otherwise.r
29180 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">
291a0 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
291c0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 an></span></code>..............I
291e0 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c nvokes.<a.href="#Peer-Type-Resol
29200 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 ution">Peer.Type.Resolution</a>.
29220 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 for.the.operands............</td
29240 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 >...........<td>.............<pr
29260 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 e><code><span.class="line">(<spa
29280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 26 67 n.class="tok-number">2</span>.&g
292a0 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 3c 2f 73 t;.<span.class="tok-number">1</s
292c0 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e pan>).==.<span.class="tok-null">
292e0 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a true</span></span></code></pre>.
29300 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>...
29320 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="
29340 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e row"><pre><code><span.class="lin
29360 65 22 3e 61 20 26 67 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e e">a.&gt;=.b</span></code></pre>
29380 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>............
293a0 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=
293c0 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>...
293e0 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
29400 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f ">Floats</a></li>.............</
29420 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
29440 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><
29460 73 70 61 6e 20 63 6c 61 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
29480 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-null">true</span></span></cod
294a0 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c e>.if.a.is.greater.than.or.equal
294c0 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c .to.b,.otherwise.returns.<code><
294e0 73 70 61 6e 20 63 6c 61 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
29500 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
29520 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 de>..............Invokes.<a.href
29540 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
29560 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
29580 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ds............</td>...........<t
295a0 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.
295c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e class="line">(<span.class="tok-n
295e0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 umber">2</span>.&gt;=.<span.clas
29600 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 73 70 61 s="tok-number">1</span>).==.<spa
29620 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 2f n.class="tok-null">true</span></
29640 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
29660 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>...
29680 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
296a0 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 20 62 3c 2f de><span.class="line">a.&lt;.b</
296c0 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>.........
296e0 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>.........
29700 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
29720 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
29740 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></
29760 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>...........
29780 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>............
297a0 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...Returns.<code><span.class="li
297c0 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<
297e0 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 69 73 20 6c 65 73 /span></span></code>.if.a.is.les
29800 73 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 s.than.b,.otherwise.returns.<cod
29820 65 3e 3c 73 70 61 6e 20 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
29840 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ="tok-null">false</span></span><
29860 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 /code>..............Invokes.<a.h
29880 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 ref="#Peer-Type-Resolution">Peer
298a0 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 .Type.Resolution</a>.for.the.ope
298c0 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 rands............</td>..........
298e0 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
29900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an.class="line">(<span.class="to
29920 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c k-number">1</span>.&lt;.<span.cl
29940 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 ass="tok-number">2</span>).==.<s
29960 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>
29980 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 </span></code>></pre>...........
299a0 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>
299c0 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>
299e0 3c 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 3d <code><span.class="line">a.&lt;=
29a00 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 20 .b</span></code></pre></th>.....
29a20 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>.....
29a40 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
29a60 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ">Integers</a></li>.............
29a80 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f ..<li><a.href="#Floats">Floats</
29aa0 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>.......
29ac0 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>........
29ae0 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
29b00 3d 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
29b20 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 69 73 rue</span></span></code>.if.a.is
29b40 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 .less.than.or.equal.to.b,.otherw
29b60 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
29b80 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
29ba0 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>..........
29bc0 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d ....Invokes.<a.href="#Peer-Type-
29be0 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e Resolution">Peer.Type.Resolution
29c00 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 </a>.for.the.operands...........
29c20 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>...........
29c40 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">
29c60 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
29c80 6e 3e 20 26 6c 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>.&lt;=.<span.class="tok-number
29ca0 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">2</span>).==.<span.class="tok-
29cc0 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c null">true</span></span></code><
29ce0 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>.........</
29d00 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
29d20 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
29d40 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 2b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 s="line">a.++.b</span></code></p
29d60 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 re></th>...........<td>.........
29d80 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 ....<ul>...............<li><a.hr
29da0 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 20 20 20 ef="#Arrays">Arrays</a></li>....
29dc0 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>..
29de0 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 72 72 61 79 20 .........<td>.............Array.
29e00 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a concatenation..............<ul>.
29e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 ..............<li>Only.available
29e40 20 77 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 61 .when.<code><span.class="line">a
29e60 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 </span></code>.and.<code><span.c
29e80 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 61 72 65 20 lass="line">b</span></code>.are.
29ea0 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 <a.href="#comptime">compile-time
29ec0 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 .known</a>.</li>.............</u
29ee0 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
29f00 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
29f20 6c 61 73 73 3d 22 6c 69 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"
29f40 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.mem.=.<span.class=
29f60 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
29f80 61 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
29fa0 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 63 6c 61 t;</span>).mem;</span>.<span.cla
29fc0 73 73 3d 22 6c 69 6e 65 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
29fe0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 31 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c onst</span>.array1.=.[_]<span.cl
2a000 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 ass="tok-type">u32</span>{<span.
2a020 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 class="tok-number">1</span>,<spa
2a040 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 7d 3b 3c n.class="tok-number">2</span>};<
2a060 2f 73 70 61 6e 3e 0a 3c 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.
2a080 63 6c 61 73 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 class="tok-kw">const</span>.arra
2a0a0 79 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 y2.=.[_]<span.class="tok-type">u
2a0c0 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 32</span>{<span.class="tok-numbe
2a0e0 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d r">3</span>,<span.class="tok-num
2a100 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">4</span>};</span>.<span.cla
2a120 73 73 3d 22 6c 69 6e 65 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
2a140 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6f 67 65 74 68 65 72 20 3d 20 61 72 72 61 79 31 20 2b 2b onst</span>.together.=.array1.++
2a160 20 61 72 72 61 79 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .array2;</span>.<span.class="lin
2a180 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 6f 6b 2d 74 79 70 65 e">mem.eql(<span.class="tok-type
2a1a0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 74 6f 67 65 74 68 65 72 2c 20 26 61 6d ">u32</span>,.&amp;together,.&am
2a1c0 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c p;[_]<span.class="tok-type">u32<
2a1e0 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 22 3e /span>{<span.class="tok-number">
2a200 31 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 1</span>,<span.class="tok-number
2a220 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ">2</span>,<span.class="tok-numb
2a240 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 er">3</span>,<span.class="tok-nu
2a260 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f mber">4</span>})</span></code></
2a280 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
2a2a0 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
2a2c0 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
2a2e0 3d 22 6c 69 6e 65 22 3e 61 20 2a 2a 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ="line">a.**.b</span></code></pr
2a300 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>..........
2a320 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
2a340 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 f="#Arrays">Arrays</a></li>.....
2a360 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>...
2a380 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 72 72 61 79 20 6d ........<td>.............Array.m
2a3a0 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a ultiplication..............<ul>.
2a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 ..............<li>Only.available
2a3e0 20 77 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 61 .when.<code><span.class="line">a
2a400 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 </span></code>.and.<code><span.c
2a420 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 61 72 65 20 lass="line">b</span></code>.are.
2a440 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 <a.href="#comptime">compile-time
2a460 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 .known</a>.</li>.............</u
2a480 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
2a4a0 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
2a4c0 6c 61 73 73 3d 22 6c 69 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"
2a4e0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.mem.=.<span.class=
2a500 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
2a520 61 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
2a540 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 63 6c 61 t;</span>).mem;</span>.<span.cla
2a560 73 73 3d 22 6c 69 6e 65 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
2a580 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 74 74 65 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 onst</span>.pattern.=.<span.clas
2a5a0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e s="tok-str">&quot;ab&quot;</span
2a5c0 3e 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 33 3c >.**.<span.class="tok-number">3<
2a5e0 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
2a600 22 3e 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 ">mem.eql(<span.class="tok-type"
2a620 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 70 61 74 74 65 72 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 >u8</span>,.pattern,.<span.class
2a640 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 61 62 61 62 26 71 75 6f 74 3b 3c 2f 73 ="tok-str">&quot;ababab&quot;</s
2a660 70 61 6e 3e 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 pan>)</span></code></pre>.......
2a680 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 ....</td>.........</tr>.........
2a6a0 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 3c <tr>...........<th.scope="row"><
2a6c0 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 2e 2a pre><code><span.class="line">a.*
2a6e0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 </span></code></pre></th>.......
2a700 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ....<td>.............<ul>.......
2a720 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 73 22 3e ........<li><a.href="#Pointers">
2a740 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f Pointers</a></li>.............</
2a760 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
2a780 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e d>.............Pointer.dereferen
2a7a0 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ce............</td>...........<t
2a7c0 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.
2a7e0 63 6c 61 73 73 3d 22 6c 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
2a800 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
2a820 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
2a840 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
2a860 6e 3e 0a 3c 73 70 61 6e 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
2a880 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 s="tok-kw">const</span>.ptr.=.&a
2a8a0 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 3e mp;x;</span>.<span.class="line">
2a8c0 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ptr.*.==.<span.class="tok-number
2a8e0 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 3c 2f 70 72 65 ">1234</span></span></code></pre
2a900 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>.
2a920 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
2a940 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
2a960 69 6e 65 22 3e 26 61 6d 70 3b 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ine">&amp;a</span></code></pre><
2a980 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 20 /th>...........<td>.............
2a9a0 41 6c 6c 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 All.types...........</td>.......
2a9c0 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 64 64 72 65 73 73 20 6f 66 2e ....<td>.............Address.of.
2a9e0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</td>...........<td>.
2aa00 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ............<pre><code><span.cla
2aa20 73 73 3d 22 6c 69 6e 65 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
2aa40 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 6f 6b 2d onst</span>.x:.<span.class="tok-
2aa60 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="
2aa80 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>.
2aaa0 3c 73 70 61 6e 20 63 6c 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="
2aac0 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 3b tok-kw">const</span>.ptr.=.&amp;
2aae0 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 70 74 72 x;</span>.<span.class="line">ptr
2ab00 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 .*.==.<span.class="tok-number">1
2ab20 32 33 34 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 234</span></span></code></pre>..
2ab40 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>....
2ab60 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
2ab80 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
2aba0 22 3e 61 20 7c 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 ">a.||.b</span></code></pre></th
2abc0 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
2abe0 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 45 72 >...............<li><a.href="#Er
2ac00 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e ror-Set-Type">Error.Set.Type</a>
2ac20 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>.........
2ac40 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>..........
2ac60 20 20 20 20 20 3c 61 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 .....<a.href="#Merging-Error-Set
2ac80 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 s">Merging.Error.Sets</a>.......
2aca0 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>........
2acc0 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
2ace0 65 22 3e 3c 73 70 61 6e 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
2ad00 70 61 6e 3e 20 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 pan>.A.=.<span.class="tok-kw">er
2ad20 72 6f 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ror</span>{One};</span>.<span.cl
2ad40 61 73 73 3d 22 6c 69 6e 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">
2ad60 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f const</span>.B.=.<span.class="to
2ad80 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 54 77 6f 7d 3b 3c 2f 73 70 61 6e 3e 0a k-kw">error</span>{Two};</span>.
2ada0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 41 20 7c 7c 20 42 29 20 3d 3d 20 3c <span.class="line">(A.||.B).==.<
2adc0 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>
2ade0 7b 4f 6e 65 2c 20 54 77 6f 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 {One,.Two}</span></code></pre>..
2ae00 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>....
2ae20 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 20 20 .....</tbody>.......</table>....
2ae40 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 ...</div>..............<h3.id="P
2ae60 72 65 63 65 64 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f recedence"><a.href="nav.xhtml#to
2ae80 63 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 c-Precedence">Precedence</a>.<a.
2aea0 63 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 class="hdr".href="#Precedence">.
2aec0 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
2aee0 61 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 an.class="line">x().x[].x.y.x.*.
2af00 78 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 x.?</span>.<span.class="line">a!
2af20 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 78 7b 7d 3c b</span>.<span.class="line">x{}<
2af40 2f 73 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 /span>.<span.class="line">!x.-x.
2af60 2d 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 -%x.~x.&amp;x.?x</span>.<span.cl
2af80 61 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 ass="line">*./.%.**.*%.*|.||</sp
2afa0 61 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 an>.<span.class="line">+.-.++.+%
2afc0 20 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 .-%.+|.-|</span>.<span.class="li
2afe0 6e 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 ne">&lt;&lt;.&gt;&gt;.&lt;&lt;|<
2b000 2f 73 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 /span>.<span.class="line">&amp;.
2b020 5e 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 ^.|.<span.class="tok-kw">orelse<
2b040 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 61 74 63 /span>.<span.class="tok-kw">catc
2b060 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 73 3d 22 6c 69 6e h</span></span>.<span.class="lin
2b080 65 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 e">==.!=.&lt;.&gt;.&lt;=.&gt;=</
2b0a0 73 70 61 6e 3e 0a 3c 73 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
2b0c0 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 3e 0a lass="tok-kw">and</span></span>.
2b0e0 3c 73 70 61 6e 20 63 6c 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="
2b100 74 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 tok-kw">or</span></span>.<span.c
2b120 6c 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 lass="line">=.*=.*%=.*|=./=.%=.+
2b140 3d 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 =.+%=.+|=.-=.-%=.-|=.&lt;&lt;=.&
2b160 6c 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 lt;&lt;|=.&gt;&gt;=.&amp;=.^=.|=
2b180 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 20 20 20 20 </span></code></pre>............
2b1a0 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 .........<h2.id="Arrays"><a.href
2b1c0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f ="nav.xhtml#toc-Arrays">Arrays</
2b1e0 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 72 72 61 79 73 22 a>.<a.class="hdr".href="#Arrays"
2b200 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
2b220 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
2b240 61 73 73 3d 22 66 69 6c 65 22 3e 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ass="file">arrays.zig</cite></fi
2b260 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=
2b280 22 6c 69 6e 65 22 3e 3c 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
2b2a0 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.expect.=.<span.class="t
2b2c0 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
2b2e0 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;
2b300 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a </span>).testing.expect;</span>.
2b320 3c 73 70 61 6e 20 63 6c 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="
2b340 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 73 tok-kw">const</span>.assert.=.<s
2b360 70 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<
2b380 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
2b3a0 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 72 ot;std&quot;</span>).debug.asser
2b3c0 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 t;</span>.<span.class="line"><sp
2b3e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d an.class="tok-kw">const</span>.m
2b400 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 em.=.<span.class="tok-builtin">@
2b420 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
2b440 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b tr">&quot;std&quot;</span>).mem;
2b460 3c 2f 73 70 61 6e 3e 0a 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
2b480 6e 3e 0a 3c 73 70 61 6e 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
2b4a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c s="tok-comment">//.array.literal
2b4c0 3c 2f 73 70 61 6e 3e 3c 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
2b4e0 22 3e 3c 73 70 61 6e 20 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
2b500 61 6e 3e 20 6d 65 73 73 61 67 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>.message.=.[_]<span.class="to
2b520 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="
2b540 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-str">'h'</span>,.<span.class
2b560 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ="tok-str">'e'</span>,.<span.cla
2b580 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
2b5a0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e lass="tok-str">'l'</span>,.<span
2b5c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f .class="tok-str">'o'</span>.};</
2b5e0 73 70 61 6e 3e 0a 3c 73 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>
2b600 0a 3c 73 70 61 6e 20 63 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=
2b620 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 67 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66 "tok-comment">//.get.the.size.of
2b640 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .an.array</span></span>.<span.cl
2b660 61 73 73 3d 22 6c 69 6e 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">
2b680 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 comptime</span>.{</span>.<span.c
2b6a0 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 73 73 61 67 65 2e 6c lass="line">....assert(message.l
2b6c0 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 35 en.==.<span.class="tok-number">5
2b6e0 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
2b700 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">
2b720 3c 2f 73 70 61 6e 3e 0a 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
2b740 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 74 72 69 6e 67 .class="tok-comment">//.A.string
2b760 20 6c 69 74 65 72 61 6c 20 69 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 .literal.is.a.single-item.pointe
2b780 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 r.to.an.array.literal.</span></s
2b7a0 70 61 6e 3e 0a 3c 73 70 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
2b7c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 61 6d 65 5f 6d ass="tok-kw">const</span>.same_m
2b7e0 65 73 73 61 67 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 essage.=.<span.class="tok-str">&
2b800 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a quot;hello&quot;</span>;</span>.
2b820 3c 73 70 61 6e 20 63 6c 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
2b840 20 63 6c 61 73 73 3d 22 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
2b860 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
2b880 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 65 71 n.class="line">....assert(mem.eq
2b8a0 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 l(<span.class="tok-type">u8</spa
2b8c0 6e 3e 2c 20 26 61 6d 70 3b 6d 65 73 73 61 67 65 2c 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 29 29 n>,.&amp;message,.same_message))
2b8e0 3b 3c 2f 73 70 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
2b900 70 61 6e 3e 0a 3c 73 70 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>.
2b920 3c 73 70 61 6e 20 63 6c 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="
2b940 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=
2b960 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 6e 20 "tok-str">&quot;iterate.over.an.
2b980 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 array&quot;</span>.{</span>.<spa
2b9a0 6e 20 63 6c 61 73 73 3d 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="
2b9c0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c tok-kw">var</span>.sum:.<span.cl
2b9e0 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
2ba00 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>;
2ba20 3c 2f 73 70 61 6e 3e 0a 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">....<
2ba40 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>.(
2ba60 6d 65 73 73 61 67 65 29 20 7c 62 79 74 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 message).|byte|.{</span>.<span.c
2ba80 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 62 79 74 65 3b lass="line">........sum.+=.byte;
2baa0 3c 2f 73 70 61 6e 3e 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">....}
2bac0 3c 2f 73 70 61 6e 3e 0a 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">....<
2bae0 73 70 61 6e 20 63 6c 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
2bb00 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 xpect(sum.==.<span.class="tok-st
2bb20 72 22 3e 27 68 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 r">'h'</span>.+.<span.class="tok
2bb40 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -str">'e'</span>.+.<span.class="
2bb60 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-str">'l'</span>.*.<span.clas
2bb80 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.
2bba0 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
2bbc0 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>.
2bbe0 3c 73 70 61 6e 20 63 6c 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
2bc00 20 63 6c 61 73 73 3d 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
2bc20 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 6f 64 69 66 69 61 62 6c 65 20 61 72 72 61 79 3c 2f 73 70 61 omment">//.modifiable.array</spa
2bc40 6e 3e 3c 2f 73 70 61 6e 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
2bc60 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 6f 6d an.class="tok-kw">var</span>.som
2bc80 65 5f 69 6e 74 65 67 65 72 73 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 e_integers:.[<span.class="tok-nu
2bca0 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">100</span>]<span.class="to
2bcc0 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
2bce0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 ="tok-null">undefined</span>;</s
2bd00 70 61 6e 3e 0a 3c 73 70 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>.
2bd20 3c 73 70 61 6e 20 63 6c 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="
2bd40 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=
2bd60 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 "tok-str">&quot;modify.an.array&
2bd80 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
2bda0 73 3d 22 6c 69 6e 65 22 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
2bdc0 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 29 20 7c 2a 69 ">for</span>.(some_integers).|*i
2bde0 74 65 6d 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 tem,.i|.{</span>.<span.class="li
2be00 6e 65 22 3e 20 20 20 20 20 20 20 20 69 74 65 6d 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ne">........item.*.=.<span.class
2be20 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c ="tok-builtin">@intCast</span>(<
2be40 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>
2be60 2c 20 69 29 3b 3c 2f 73 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">
2be80 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">
2bea0 20 20 20 20 3c 73 70 61 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
2bec0 61 6e 3e 20 65 78 70 65 63 74 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 an>.expect(some_integers[<span.c
2bee0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 lass="tok-number">10</span>].==.
2bf00 3c 73 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
2bf20 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">.
2bf40 20 20 20 3c 73 70 61 6e 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
2bf60 6e 3e 20 65 78 70 65 63 74 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c n>.expect(some_integers[<span.cl
2bf80 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c ass="tok-number">99</span>].==.<
2bfa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e span.class="tok-number">99</span
2bfc0 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">}<
2bfe0 2f 73 70 61 6e 3e 0a 3c 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
2c000 3e 0a 3c 73 70 61 6e 20 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
2c020 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 63 6f 6e 63 61 74 65 6e ="tok-comment">//.array.concaten
2c040 61 74 69 6f 6e 20 77 6f 72 6b 73 20 69 66 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 6b 6e ation.works.if.the.values.are.kn
2c060 6f 77 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 own</span></span>.<span.class="l
2c080 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">/
2c0a0 2f 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a /.at.compile.time</span></span>.
2c0c0 3c 73 70 61 6e 20 63 6c 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="
2c0e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 74 5f 6f 6e 65 20 3d 20 tok-kw">const</span>.part_one.=.
2c100 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 32 3c 2f 73 [_]<span.class="tok-type">i32</s
2c120 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 pan>{.<span.class="tok-number">1
2c140 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
2c160 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
2c180 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">3</span>,.<span.class="tok-
2c1a0 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 73 70 61 6e number">4</span>.};</span>.<span
2c1c0 20 63 6c 61 73 73 3d 22 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
2c1e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 74 5f 74 77 6f 20 3d 20 5b 5f 5d 3c 73 w">const</span>.part_two.=.[_]<s
2c200 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b pan.class="tok-type">i32</span>{
2c220 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 .<span.class="tok-number">5</spa
2c240 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f n>,.<span.class="tok-number">6</
2c260 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">
2c280 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 7</span>,.<span.class="tok-numbe
2c2a0 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">8</span>.};</span>.<span.clas
2c2c0 73 3d 22 6c 69 6e 65 22 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
2c2e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 6f 66 5f 69 74 20 3d 20 70 61 72 74 5f 6f 6e 65 20 nst</span>.all_of_it.=.part_one.
2c300 2b 2b 20 70 61 72 74 5f 74 77 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ++.part_two;</span>.<span.class=
2c320 22 6c 69 6e 65 22 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
2c340 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 time</span>.{</span>.<span.class
2c360 3d 22 6c 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 ="line">....assert(mem.eql(<span
2c380 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
2c3a0 6d 70 3b 61 6c 6c 5f 6f 66 5f 69 74 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 mp;all_of_it,.&amp;[_]<span.clas
2c3c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>{.<span.c
2c3e0 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
2c400 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 20 3c n.class="tok-number">2</span>,.<
2c420 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>
2c440 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 70 ,.<span.class="tok-number">4</sp
2c460 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 35 3c an>,.<span.class="tok-number">5<
2c480 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"
2c4a0 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >6</span>,.<span.class="tok-numb
2c4c0 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">7</span>,.<span.class="tok-n
2c4e0 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 umber">8</span>.}));</span>.<spa
2c500 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
2c520 61 73 73 3d 22 6c 69 6e 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="
2c540 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">
2c560 2f 2f 20 72 65 6d 65 6d 62 65 72 20 74 68 61 74 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 //.remember.that.string.literals
2c580 20 61 72 65 20 61 72 72 61 79 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .are.arrays</span></span>.<span.
2c5a0 63 6c 61 73 73 3d 22 6c 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
2c5c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">const</span>.hello.=.<span.cla
2c5e0 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;</
2c600 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"
2c620 3e 3c 73 70 61 6e 20 63 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
2c640 6e 3e 20 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 73 74 72 22 n>.world.=.<span.class="tok-str"
2c660 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e >&quot;world&quot;</span>;</span
2c680 3e 0a 3c 73 70 61 6e 20 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
2c6a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 ="tok-kw">const</span>.hello_wor
2c6c0 6c 64 20 3d 20 68 65 6c 6c 6f 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ld.=.hello.++.<span.class="tok-s
2c6e0 74 72 22 3e 26 71 75 6f 74 3b 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 77 6f 72 6c tr">&quot;.&quot;</span>.++.worl
2c700 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 3c 73 70 d;</span>.<span.class="line"><sp
2c720 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
2c740 3e 20 7b 3c 2f 73 70 61 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">..
2c760 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
2c780 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 2c 20 k-type">u8</span>,.hello_world,.
2c7a0 3c 73 70 61 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 <span.class="tok-str">&quot;hell
2c7c0 6f 20 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c o.world&quot;</span>));</span>.<
2c7e0 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
2c800 20 63 6c 61 73 73 3d 22 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
2c820 73 3d 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
2c840 74 22 3e 2f 2f 20 2a 2a 20 64 6f 65 73 20 72 65 70 65 61 74 69 6e 67 20 70 61 74 74 65 72 6e 73 t">//.**.does.repeating.patterns
2c860 3c 2f 73 70 61 6e 3e 3c 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
2c880 22 3e 3c 73 70 61 6e 20 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
2c8a0 61 6e 3e 20 70 61 74 74 65 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 an>.pattern.=.<span.class="tok-s
2c8c0 74 72 22 3e 26 71 75 6f 74 3b 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 tr">&quot;ab&quot;</span>.**.<sp
2c8e0 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>;<
2c900 2f 73 70 61 6e 3e 0a 3c 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.
2c920 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>.{
2c940 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....a
2c960 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ssert(mem.eql(<span.class="tok-t
2c980 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 61 6e 20 63 ype">u8</span>,.pattern,.<span.c
2c9a0 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 71 75 6f 74 lass="tok-str">&quot;ababab&quot
2c9c0 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="
2c9e0 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
2ca00 22 3e 3c 2f 73 70 61 6e 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
2ca20 61 6e 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 69 74 69 61 an.class="tok-comment">//.initia
2ca40 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 20 74 6f 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lize.an.array.to.zero</span></sp
2ca60 61 6e 3e 0a 3c 73 70 61 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
2ca80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 7a 65 72 ss="tok-kw">const</span>.all_zer
2caa0 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 o.=.[_]<span.class="tok-type">u1
2cac0 36 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 6</span>{<span.class="tok-number
2cae0 22 3e 30 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">0</span>}.**.<span.class="tok-
2cb00 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">10</span>;</span>.<span.
2cb20 63 6c 61 73 73 3d 22 6c 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
2cb40 3d 22 6c 69 6e 65 22 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
2cb60 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
2cb80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 2e 6c 65 6e s="line">....assert(all_zero.len
2cba0 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 3c .==.<span.class="tok-number">10<
2cbc0 2f 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
2cbe0 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 5b 3c 73 70 61 6e 20 63 6c 61 e">....assert(all_zero[<span.cla
2cc00 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 20 3d 3d 20 3c 73 70 ss="tok-number">5</span>].==.<sp
2cc20 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>);
2cc40 3c 2f 73 70 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
2cc60 61 6e 3e 0a 3c 73 70 61 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>.<
2cc80 73 70 61 6e 20 63 6c 61 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
2cca0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 ok-comment">//.use.compile-time.
2ccc0 63 6f 64 65 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 code.to.initialize.an.array</spa
2cce0 6e 3e 3c 2f 73 70 61 6e 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
2cd00 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 61 6e an.class="tok-kw">var</span>.fan
2cd20 63 79 5f 61 72 72 61 79 20 3d 20 69 6e 69 74 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 cy_array.=.init:.{</span>.<span.
2cd40 63 6c 61 73 73 3d 22 6c 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
2cd60 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3a 20 k-kw">var</span>.initial_value:.
2cd80 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 3c 2f 73 70 [<span.class="tok-number">10</sp
2cda0 61 6e 3e 5d 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 6e 75 6c an>]Point.=.<span.class="tok-nul
2cdc0 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 61 l">undefined</span>;</span>.<spa
2cde0 6e 20 63 6c 61 73 73 3d 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="
2ce00 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 6e 69 74 69 61 6c 5f 76 61 6c 75 tok-kw">for</span>.(initial_valu
2ce20 65 29 20 7c 2a 70 74 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e).|*pt,.i|.{</span>.<span.class
2ce40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 2e 2a 20 3d 20 50 6f 69 6e 74 7b 3c 2f 73 ="line">........pt.*.=.Point{</s
2ce60 70 61 6e 3e 0a 3c 73 70 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">........
2ce80 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .....x.=.<span.class="tok-builti
2cea0 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 3d 22 n">@intCast</span>(<span.class="
2cec0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 2c 3c 2f 73 70 61 6e 3e tok-type">i32</span>,.i),</span>
2cee0 0a 3c 73 70 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">............
2cf00 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .y.=.<span.class="tok-builtin">@
2cf20 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-
2cf40 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 type">i32</span>,.i).*.<span.cla
2cf60 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ss="tok-number">2</span>,</span>
2cf80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f .<span.class="line">........};</
2cfa0 73 70 61 6e 3e 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">....}</
2cfc0 73 70 61 6e 3e 0a 3c 73 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
2cfe0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a an.class="tok-kw">break</span>.:
2d000 69 6e 69 74 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e init.initial_value;</span>.<span
2d020 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
2d040 61 73 73 3d 22 6c 69 6e 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">
2d060 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 const</span>.Point.=.<span.class
2d080 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>
2d0a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e .<span.class="line">....x:.<span
2d0c0 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 73 .class="tok-type">i32</span>,</s
2d0e0 70 61 6e 3e 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 pan>.<span.class="line">....y:.<
2d100 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>
2d120 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">};</
2d140 73 70 61 6e 3e 0a 3c 73 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>
2d160 0a 3c 73 70 61 6e 20 63 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=
2d180 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
2d1a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 ="tok-str">&quot;compile-time.ar
2d1c0 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ray.initialization&quot;</span>.
2d1e0 7b 3c 2f 73 70 61 6e 3e 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">....
2d200 3c 73 70 61 6e 20 63 6c 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>.
2d220 65 78 70 65 63 74 28 66 61 6e 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 expect(fancy_array[<span.class="
2d240 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 61 6e tok-number">4</span>].x.==.<span
2d260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f .class="tok-number">4</span>);</
2d280 73 70 61 6e 3e 0a 3c 73 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
2d2a0 61 6e 20 63 6c 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
2d2c0 65 63 74 28 66 61 6e 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ect(fancy_array[<span.class="tok
2d2e0 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c -number">4</span>].y.==.<span.cl
2d300 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-number">8</span>);</spa
2d320 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>.<
2d340 73 70 61 6e 20 63 6c 61 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.
2d360 63 6c 61 73 73 3d 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
2d380 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6c 6c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 mment">//.call.a.function.to.ini
2d3a0 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 3c tialize.an.array</span></span>.<
2d3c0 73 70 61 6e 20 63 6c 61 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
2d3e0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 20 3d 20 ok-kw">var</span>.more_points.=.
2d400 5b 5f 5d 50 6f 69 6e 74 7b 6d 61 6b 65 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 [_]Point{makePoint(<span.class="
2d420 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 7d 20 2a 2a 20 3c 73 70 61 6e 20 tok-number">3</span>)}.**.<span.
2d440 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 class="tok-number">10</span>;</s
2d460 70 61 6e 3e 0a 3c 73 70 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
2d480 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
2d4a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 6b 65 50 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 ss="tok-fn">makePoint</span>(x:.
2d4c0 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
2d4e0 3e 29 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 >).Point.{</span>.<span.class="l
2d500 69 6e 65 22 3e 20 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
2d520 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 turn</span>.Point{</span>.<span.
2d540 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 class="line">.........x.=.x,</sp
2d560 61 6e 3e 0a 3c 73 70 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">.........
2d580 79 20 3d 20 78 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 y.=.x.*.<span.class="tok-number"
2d5a0 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >2</span>,</span>.<span.class="l
2d5c0 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....};</span>.<span.class="
2d5e0 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
2d600 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
2d620 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 n>.<span.class="tok-str">&quot;a
2d640 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 63 74 69 6f rray.initialization.with.functio
2d660 6e 20 63 61 6c 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 n.calls&quot;</span>.{</span>.<s
2d680 70 61 6e 20 63 6c 61 73 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
2d6a0 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 6f 72 65 ="tok-kw">try</span>.expect(more
2d6c0 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 _points[<span.class="tok-number"
2d6e0 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >4</span>].x.==.<span.class="tok
2d700 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
2d720 20 63 6c 61 73 73 3d 22 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
2d740 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f ok-kw">try</span>.expect(more_po
2d760 69 6e 74 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c ints[<span.class="tok-number">4<
2d780 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 75 /span>].y.==.<span.class="tok-nu
2d7a0 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">6</span>);</span>.<span.cl
2d7c0 61 73 73 3d 22 6c 69 6e 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-
2d7e0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 kw">try</span>.expect(more_point
2d800 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 s.len.==.<span.class="tok-number
2d820 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
2d840 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
2d860 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=
2d880 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
2d8a0 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
2d8c0 62 64 3e 7a 69 67 20 74 65 73 74 20 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 bd>zig.test.arrays.zig</kbd></sp
2d8e0 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 34 20 74 65 73 74 20 an>.<span.class="line">1/4.test.
2d900 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
2d920 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
2d940 22 3e 32 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 ">2/4.test.&quot;modify.an.array
2d960 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=
2d980 22 6c 69 6e 65 22 3e 33 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 "line">3/4.test.&quot;compile-ti
2d9a0 6d 65 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e me.array.initialization&quot;...
2d9c0 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 34 2f .OK</span>.<span.class="line">4/
2d9e0 34 20 74 65 73 74 20 26 71 75 6f 74 3b 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 4.test.&quot;array.initializatio
2da00 6e 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f n.with.function.calls&quot;....O
2da20 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.
2da40 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></
2da60 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a pre></figure>.......<p>See.also:
2da80 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c </p><ul>.<li><a.href="#for">for<
2daa0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 /a></li>.<li><a.href="#Slices">S
2dac0 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 lices</a></li>.</ul>.........<h3
2dae0 20 69 64 3d 22 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 3c 61 .id="Anonymous-List-Literals"><a
2db00 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 4c .href="nav.xhtml#toc-Anonymous-L
2db20 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 4c 69 73 74 20 4c 69 74 ist-Literals">Anonymous.List.Lit
2db40 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 22 23 erals</a>.<a.class="hdr".href="#
2db60 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 c2 a7 3c 2f 61 3e 3c Anonymous-List-Literals">..</a><
2db80 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 69 6d 69 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 /h3>........<p>Similar.to.<a.hre
2dba0 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 f="#Enum-Literals">Enum.Literals
2dbc0 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 </a>.and.<a.href="#Anonymous-Str
2dbe0 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c uct-Literals">Anonymous.Struct.L
2dc00 69 74 65 72 61 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 20 63 61 6e 20 62 iterals</a>.......the.type.can.b
2dc20 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 73 3a 3c 2f e.omitted.from.array.literals:</
2dc40 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
2dc60 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">
2dc80 61 6e 6f 6e 5f 6c 69 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 anon_list.zig</cite></figcaption
2dca0 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"><
2dcc0 73 70 61 6e 20 63 6c 61 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>
2dce0 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"
2dd00 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
2dd20 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>);</
2dd40 73 70 61 6e 3e 0a 3c 73 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
2dd60 6c 61 73 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
2dd80 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>.<
2dda0 73 70 61 6e 20 63 6c 61 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.
2ddc0 63 6c 61 73 73 3d 22 6c 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
2dde0 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
2de00 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c tr">&quot;anonymous.list.literal
2de20 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 .syntax&quot;</span>.{</span>.<s
2de40 70 61 6e 20 63 6c 61 73 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
2de60 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 ="tok-kw">var</span>.array:.[<sp
2de80 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 3c an.class="tok-number">4</span>]<
2dea0 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>.
2dec0 3d 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 3c =..{<span.class="tok-number">11<
2dee0 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"
2df00 3e 32 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 >22</span>,.<span.class="tok-num
2df20 62 65 72 22 3e 33 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 ber">33</span>,.<span.class="tok
2df40 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">44</span>};</span>.<spa
2df60 6e 20 63 6c 61 73 73 3d 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="
2df80 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b tok-kw">try</span>.expect(array[
2dfa0 3c 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
2dfc0 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
2dfe0 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 1</span>);</span>.<span.class="l
2e000 69 6e 65 22 3e 20 20 20 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
2e020 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 y</span>.expect(array[<span.clas
2e040 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 61 s="tok-number">1</span>].==.<spa
2e060 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 32 3c 2f 73 70 61 6e 3e 29 3b n.class="tok-number">22</span>);
2e080 3c 2f 73 70 61 6e 3e 0a 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">....<
2e0a0 73 70 61 6e 20 63 6c 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
2e0c0 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d xpect(array[<span.class="tok-num
2e0e0 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">2</span>].==.<span.class="t
2e100 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">33</span>);</span>.<s
2e120 70 61 6e 20 63 6c 61 73 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
2e140 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
2e160 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
2e180 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"
2e1a0 3e 34 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 >44</span>);</span>.<span.class=
2e1c0 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
2e1e0 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="
2e200 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
2e220 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
2e240 64 3e 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 6c 69 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f d>zig.test.anon_list.zig</kbd></
2e260 73 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
2e280 74 20 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 73 t.&quot;anonymous.list.literal.s
2e2a0 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 73 70 61 6e 20 63 yntax&quot;....OK</span>.<span.c
2e2c0 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.<
2e2e0 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>...
2e300 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 74 79 70 ....<p>.......If.there.is.no.typ
2e320 65 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 74 68 65 6e 20 61 6e e.in.the.result.location.then.an
2e340 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 61 63 74 75 61 6c 6c 79 .anonymous.list.literal.actually
2e360 0a 20 20 20 20 20 20 74 75 72 6e 73 20 69 6e 74 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 .......turns.into.a.<a.href="#st
2e380 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 6e 75 6d 62 65 72 65 64 20 66 ruct">struct</a>.with.numbered.f
2e3a0 69 65 6c 64 20 6e 61 6d 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ield.names:.......</p>.......<fi
2e3c0 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"
2e3e0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 66 65 72 5f 6c 69 73 74 5f 6c ><cite.class="file">infer_list_l
2e400 69 74 65 72 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 70 iteral.zig</cite></figcaption><p
2e420 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
2e440 6e 20 63 6c 61 73 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
2e460 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
2e480 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
2e4a0 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
2e4c0 6e 3e 0a 3c 73 70 61 6e 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
2e4e0 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.=
2e500 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
2e520 6e 20 63 6c 61 73 73 3d 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
2e540 73 73 3d 22 6c 69 6e 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
2e560 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"
2e580 3e 26 71 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 >&quot;fully.anonymous.list.lite
2e5a0 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 70 61 6e 20 ral&quot;</span>.{</span>.<span.
2e5c0 63 6c 61 73 73 3d 22 6c 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
2e5e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 75 6d 70 28 2e 7b 20 3c 73 70 61 6e 20 63 k-kw">try</span>.dump(.{.<span.c
2e600 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
2e620 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>,
2e640 20 3c 73 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</
2e660 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 62 75 69 6c 74 69 6e span>),.<span.class="tok-builtin
2e680 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">@as</span>(<span.class="tok-ty
2e6a0 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">f64</span>,.<span.class="tok
2e6c0 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c -number">12.34</span>),.<span.cl
2e6e0 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 61 ass="tok-null">true</span>,.<spa
2e700 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;
2e720 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 6c </span>});</span>.<span.class="l
2e740 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"
2e760 3e 3c 2f 73 70 61 6e 3e 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
2e780 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
2e7a0 20 63 6c 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 .class="tok-fn">dump</span>(args
2e7c0 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</
2e7e0 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
2e800 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=
2e820 22 6c 69 6e 65 22 3e 20 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">
2e840 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 30 26 try</span>.expect(args.@&quot;0&
2e860 71 75 6f 74 3b 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 quot;.==.<span.class="tok-number
2e880 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
2e8a0 73 73 3d 22 6c 69 6e 65 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
2e8c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 w">try</span>.expect(args.@&quot
2e8e0 3b 31 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ;1&quot;.==.<span.class="tok-num
2e900 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber">12.34</span>);</span>.<span
2e920 20 63 6c 61 73 73 3d 22 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
2e940 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 40 26 ok-kw">try</span>.expect(args.@&
2e960 71 75 6f 74 3b 32 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 quot;2&quot;);</span>.<span.clas
2e980 73 3d 22 6c 69 6e 65 22 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
2e9a0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b ">try</span>.expect(args.@&quot;
2e9c0 33 26 71 75 6f 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 3&quot;[<span.class="tok-number"
2e9e0 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 >0</span>].==.<span.class="tok-s
2ea00 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tr">'h'</span>);</span>.<span.cl
2ea20 61 73 73 3d 22 6c 69 6e 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-
2ea40 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f kw">try</span>.expect(args.@&quo
2ea60 74 3b 33 26 71 75 6f 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 t;3&quot;[<span.class="tok-numbe
2ea80 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">1</span>].==.<span.class="tok
2eaa0 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 6e 20 -str">'i'</span>);</span>.<span.
2eac0 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
2eae0 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
2eb00 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
2eb20 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"
2eb40 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 >$.<kbd>zig.test.infer_list_lite
2eb60 72 61 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 6c 61 73 73 ral.zig</kbd></span>.<span.class
2eb80 3d 22 6c 69 6e 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 ="line">1/1.test.&quot;fully.ano
2eba0 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c nymous.list.literal&quot;....OK<
2ebc0 2f 73 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.
2ebe0 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
2ec00 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 e></figure>...............<h3.id
2ec20 3d 22 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 3c 61 20 68 72 ="Multidimensional-Arrays"><a.hr
2ec40 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e ef="nav.xhtml#toc-Multidimension
2ec60 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 41 72 72 61 al-Arrays">Multidimensional.Arra
2ec80 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 75 6c ys</a>.<a.class="hdr".href="#Mul
2eca0 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 3c 2f 68 33 tidimensional-Arrays">..</a></h3
2ecc0 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 6e 73 69 6f >........<p>.......Multidimensio
2ece0 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 20 6e 65 73 nal.arrays.can.be.created.by.nes
2ed00 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 20 20 3c 66 ting.arrays:.......</p>.......<f
2ed20 69 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
2ed40 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 6d 65 6e 73 "><cite.class="file">multidimens
2ed60 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 70 72 ional.zig</cite></figcaption><pr
2ed80 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
2eda0 20 63 6c 61 73 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
2edc0 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
2ede0 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
2ee00 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
2ee20 3e 0a 3c 73 70 61 6e 20 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
2ee40 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.=.
2ee60 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
2ee80 20 63 6c 61 73 73 3d 22 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
2eea0 73 3d 22 6c 69 6e 65 22 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
2eec0 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 6c 61 73 73 nst</span>.mat4x4.=.[<span.class
2eee0 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 6e 20 63 6c ="tok-number">4</span>][<span.cl
2ef00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 ass="tok-number">4</span>]<span.
2ef20 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 3c 2f 73 70 class="tok-type">f32</span>{</sp
2ef40 61 6e 3e 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 an>.<span.class="line">....[_]<s
2ef60 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>{
2ef80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 .<span.class="tok-number">1.0</s
2efa0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 pan>,.<span.class="tok-number">0
2efc0 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 62 .0</span>,.<span.class="tok-numb
2efe0 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b er">0.0</span>,.<span.class="tok
2f000 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 3e 0a 3c 73 -number">0.0</span>.},</span>.<s
2f020 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c pan.class="line">....[_]<span.cl
2f040 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 61 6e ass="tok-type">f32</span>{.<span
2f060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-number">0.0</span>,.
2f080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 <span.class="tok-number">1.0</sp
2f0a0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e an>,.<span.class="tok-number">0.
2f0c0 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
2f0e0 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 6e 20 63 6c r">1.0</span>.},</span>.<span.cl
2f100 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ass="line">....[_]<span.class="t
2f120 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">f32</span>{.<span.class
2f140 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ="tok-number">0.0</span>,.<span.
2f160 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c class="tok-number">0.0</span>,.<
2f180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 span.class="tok-number">1.0</spa
2f1a0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 n>,.<span.class="tok-number">0.0
2f1c0 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>.},</span>.<span.class="l
2f1e0 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ine">....[_]<span.class="tok-typ
2f200 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">f32</span>{.<span.class="tok-
2f220 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=
2f240 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 "tok-number">0.0</span>,.<span.c
2f260 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
2f280 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
2f2a0 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >.},</span>.<span.class="line">}
2f2c0 3b 3c 2f 73 70 61 6e 3e 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
2f2e0 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
2f300 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 75 6c 74 69 64 69 an.class="tok-str">&quot;multidi
2f320 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c mensional.arrays&quot;</span>.{<
2f340 2f 73 70 61 6e 3e 0a 3c 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
2f360 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 pan.class="tok-comment">//.Acces
2f380 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 68 65 20 6f s.the.2D.array.by.indexing.the.o
2f3a0 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 65 72 20 61 uter.array,.and.then.the.inner.a
2f3c0 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 61 73 73 3d rray.</span></span>.<span.class=
2f3e0 22 6c 69 6e 65 22 3e 20 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">
2f400 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 61 6e 20 63 try</span>.expect(mat4x4[<span.c
2f420 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 3c 73 70 61 lass="tok-number">1</span>][<spa
2f440 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 3d n.class="tok-number">1</span>].=
2f460 3d 20 3c 73 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</
2f480 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
2f4a0 22 3e 3c 2f 73 70 61 6e 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">...
2f4c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 .<span.class="tok-comment">//.He
2f4e0 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 2e 3c 2f 73 re.we.iterate.with.for.loops.</s
2f500 70 61 6e 3e 3c 2f 73 70 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">.
2f520 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
2f540 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 20 7b 3c 2f n>.(mat4x4).|row,.row_index|.{</
2f560 73 70 61 6e 3e 0a 3c 73 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">.......
2f580 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">for</span>
2f5a0 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 7b 3c 2f 73 .(row).|cell,.column_index|.{</s
2f5c0 70 61 6e 3e 0a 3c 73 70 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">........
2f5e0 20 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
2f600 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 78 29 20 7b n>.(row_index.==.column_index).{
2f620 3c 2f 73 70 61 6e 3e 0a 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">.....
2f640 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">
2f660 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 70 61 6e 20 try</span>.expect(cell.==.<span.
2f680 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c class="tok-number">1.0</span>);<
2f6a0 2f 73 70 61 6e 3e 0a 3c 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">......
2f6c0 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
2f6e0 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="
2f700 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="
2f720 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
2f740 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
2f760 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
2f780 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
2f7a0 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 69 67 3c 2f >zig.test.multidimensional.zig</
2f7c0 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
2f7e0 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 61 6c 20 61 /1.test.&quot;multidimensional.a
2f800 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 61 6e 20 63 rrays&quot;....OK</span>.<span.c
2f820 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.<
2f840 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>...
2f860 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 2d 54 65 72 ............<h3.id="Sentinel-Ter
2f880 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 6e 61 76 2e 78 68 74 minated-Arrays"><a.href="nav.xht
2f8a0 6d 6c 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 ml#toc-Sentinel-Terminated-Array
2f8c0 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 s">Sentinel-Terminated.Arrays</a
2f8e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c >.<a.class="hdr".href="#Sentinel
2f900 2d 54 65 72 6d 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 -Terminated-Arrays">..</a></h3>.
2f920 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 .......<p>.......The.syntax.<cod
2f940 65 3e 3c 73 70 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 e><span.class="line">[N:x]T</spa
2f960 6e 3e 3c 2f 63 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 n></code>.describes.an.array.whi
2f980 63 68 20 68 61 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 ch.has.a.sentinel.element.of.val
2f9a0 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 ue.<code><span.class="line">x</s
2f9c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 69 6e 64 65 78 20 63 pan></code>.at.the.......index.c
2f9e0 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 20 63 6c 61 73 orresponding.to.<code><span.clas
2fa00 73 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 2e 0a 20 20 20 20 s="line">len</span></code>......
2fa20 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
2fa40 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
2fa60 6c 65 22 3e 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 63 le">null_terminated_array.zig</c
2fa80 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
2faa0 6e 20 63 6c 61 73 73 3d 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-
2fac0 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
2fae0 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>(
2fb00 3c 73 70 61 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&
2fb20 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
2fb40 73 3d 22 6c 69 6e 65 22 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
2fb60 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.
2fb80 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
2fba0 22 3e 3c 2f 73 70 61 6e 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
2fbc0 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
2fbe0 70 61 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 75 6c 6c 20 74 pan.class="tok-str">&quot;null.t
2fc00 65 72 6d 69 6e 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 erminated.array&quot;</span>.{</
2fc20 73 70 61 6e 3e 0a 3c 73 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
2fc40 61 6e 20 63 6c 61 73 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
2fc60 72 72 61 79 20 3d 20 5b 5f 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 rray.=.[_:<span.class="tok-numbe
2fc80 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r">0</span>]<span.class="tok-typ
2fca0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e e">u8</span>.{<span.class="tok-n
2fcc0 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
2fce0 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=
2fd00 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
2fd20 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e ss="tok-number">4</span>};</span
2fd40 3e 0a 3c 73 70 61 6e 20 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
2fd60 61 6e 20 63 6c 61 73 73 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=
2fd80 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
2fda0 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
2fdc0 61 6e 3e 28 61 72 72 61 79 29 20 3d 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>(array).==.[<span.class="tok-
2fde0 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f number">4</span>:<span.class="to
2fe00 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-number">0</span>]<span.class="
2fe20 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 0a 3c 73 70 tok-type">u8</span>);</span>.<sp
2fe40 61 6e 20 63 6c 61 73 73 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=
2fe60 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 79 "tok-kw">try</span>.expect(array
2fe80 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .len.==.<span.class="tok-number"
2fea0 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="
2fec0 6c 69 6e 65 22 3e 20 20 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
2fee0 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 6c 61 ry</span>.expect(array[<span.cla
2ff00 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 20 3c 73 70 ss="tok-number">4</span>].==.<sp
2ff20 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>);
2ff40 3c 2f 73 70 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
2ff60 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
2ff80 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
2ffa0 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
2ffc0 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
2ffe0 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 6b 62 64 3e 3c 2f ull_terminated_array.zig</kbd></
30000 73 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
30020 74 20 26 71 75 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 t.&quot;null.terminated.array&qu
30040 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
30060 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>.<
30080 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 /samp></pre></figure>.......<p>S
300a0 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 ee.also:</p><ul>.<li><a.href="#S
300c0 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e entinel-Terminated-Pointers">Sen
300e0 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c tinel-Terminated.Pointers</a></l
30100 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e i>.<li><a.href="#Sentinel-Termin
30120 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 ated-Slices">Sentinel-Terminated
30140 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 .Slices</a></li>.</ul>..........
30160 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 65 63 74 6f 72 73 22 3e 3c 61 .............<h2.id="Vectors"><a
30180 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 56 65 63 74 6f 72 73 22 3e 56 65 .href="nav.xhtml#toc-Vectors">Ve
301a0 63 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ctors</a>.<a.class="hdr".href="#
301c0 56 65 63 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a Vectors">..</a></h2>........<p>.
301e0 20 20 20 20 20 20 41 20 76 65 63 74 6f 72 20 69 73 20 61 20 67 72 6f 75 70 20 6f 66 20 62 6f 6f ......A.vector.is.a.group.of.boo
30200 6c 65 61 6e 73 2c 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 leans,.<a.href="#Integers">Integ
30220 65 72 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 ers</a>,.<a.href="#Floats">Float
30240 73 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 3e 50 6f s</a>,.or.<a.href="#Pointers">Po
30260 69 6e 74 65 72 73 3c 2f 61 3e 20 77 68 69 63 68 20 61 72 65 20 6f 70 65 72 61 74 65 64 20 6f 6e inters</a>.which.are.operated.on
30280 0a 20 20 20 20 20 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 75 73 69 6e 67 20 53 49 4d 44 20 69 6e .......in.parallel.using.SIMD.in
302a0 73 74 72 75 63 74 69 6f 6e 73 2e 20 56 65 63 74 6f 72 20 74 79 70 65 73 20 61 72 65 20 63 72 65 structions..Vector.types.are.cre
302c0 61 74 65 64 20 77 69 74 68 20 74 68 65 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 3c ated.with.the.builtin.function.<
302e0 61 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 a.href="#Type">@Type</a>,.......
30300 6f 72 20 75 73 69 6e 67 20 74 68 65 20 73 68 6f 72 74 68 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20 or.using.the.shorthand.function.
30320 3c 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 6d 65 74 <code><span.class="line">std.met
30340 61 2e 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f a.Vector</span></code>........</
30360 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 56 65 63 74 6f 72 73 20 73 75 70 70 6f p>.......<p>.......Vectors.suppo
30380 72 74 20 74 68 65 20 73 61 6d 65 20 62 75 69 6c 74 69 6e 20 6f 70 65 72 61 74 6f 72 73 20 61 73 rt.the.same.builtin.operators.as
303a0 20 74 68 65 69 72 20 75 6e 64 65 72 6c 79 69 6e 67 20 62 61 73 65 20 74 79 70 65 73 2e 20 54 68 .their.underlying.base.types..Th
303c0 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 0a 20 20 ese.operations.are.performed....
303e0 20 20 20 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 76 ....element-wise,.and.return.a.v
30400 65 63 74 6f 72 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 20 61 73 20 74 68 65 20 ector.of.the.same.length.as.the.
30420 69 6e 70 75 74 20 76 65 63 74 6f 72 73 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 3a 0a 20 20 input.vectors..This.includes:...
30440 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c ....</p>.......<ul>...........<l
30460 69 3e 41 72 69 74 68 6d 65 74 69 63 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d i>Arithmetic.(<code><span.class=
30480 22 6c 69 6e 65 22 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 "line">+</span></code>,.<code><s
304a0 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 3e pan.class="line">-</span></code>
304c0 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 2f 3c 2f 73 70 ,.<code><span.class="line">/</sp
304e0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an></code>,.<code><span.class="l
30500 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 0a 20 20 20 20 20 20 20 20 20 ine">*</span></code>,...........
30520 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 20 63 6c 61 73 ................<code><span.clas
30540 73 3d 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
30560 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n">@divFloor</span></span></code
30580 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
305a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 3c 2f 73 70 61 n.class="tok-builtin">@sqrt</spa
305c0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c n></span></code>,.<code><span.cl
305e0 61 73 73 3d 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
30600 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c tin">@ceil</span></span></code>,
30620 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 ...........................<code
30640 3e 3c 73 70 61 6e 20 63 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=
30660 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e "tok-builtin">@log</span></span>
30680 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
306a0 69 3e 42 69 74 77 69 73 65 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e i>Bitwise.operators.(<code><span
306c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="line">&gt;&gt;</span></c
306e0 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">&
30700 6c 74 3b 26 6c 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 lt;&lt;</span></code>,.<code><sp
30720 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f an.class="line">&amp;</span></co
30740 64 65 3e 2c 20 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 de>,............................
30760 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">
30780 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 |</span></code>,.<code><span.cla
307a0 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 2c 20 65 74 63 2e 29 ss="line">~</span></code>,.etc.)
307c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 61 72 69 73 6f 6e 20 6f </li>...........<li>Comparison.o
307e0 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e perators.(<code><span.class="lin
30800 65 22 3e 26 6c 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 e">&lt;</span></code>,.<code><sp
30820 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 an.class="line">&gt;</span></cod
30840 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 3d 3d 3c e>,.<code><span.class="line">==<
30860 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 /span></code>,.etc.)</li>.......
30880 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 70 72 6f 68 </ul>.......<p>.......It.is.proh
308a0 69 62 69 74 65 64 20 74 6f 20 75 73 65 20 61 20 6d 61 74 68 20 6f 70 65 72 61 74 6f 72 20 6f 6e ibited.to.use.a.math.operator.on
308c0 20 61 20 6d 69 78 74 75 72 65 20 6f 66 20 73 63 61 6c 61 72 73 20 28 69 6e 64 69 76 69 64 75 61 .a.mixture.of.scalars.(individua
308e0 6c 20 6e 75 6d 62 65 72 73 29 20 61 6e 64 20 76 65 63 74 6f 72 73 2e 20 0a 20 20 20 20 20 20 5a l.numbers).and.vectors.........Z
30900 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 ig.provides.the.<a.href="#splat"
30920 3e 40 73 70 6c 61 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 74 6f 20 65 61 73 69 6c 79 20 63 6f >@splat</a>.builtin.to.easily.co
30940 6e 76 65 72 74 20 66 72 6f 6d 20 73 63 61 6c 61 72 73 20 74 6f 20 76 65 63 74 6f 72 73 2c 20 61 nvert.from.scalars.to.vectors,.a
30960 6e 64 20 69 74 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 nd.it.supports.<a.href="#reduce"
30980 3e 40 72 65 64 75 63 65 3c 2f 61 3e 20 0a 20 20 20 20 20 20 61 6e 64 20 61 72 72 61 79 20 69 6e >@reduce</a>........and.array.in
309a0 64 65 78 69 6e 67 20 73 79 6e 74 61 78 20 74 6f 20 63 6f 6e 76 65 72 74 20 66 72 6f 6d 20 76 65 dexing.syntax.to.convert.from.ve
309c0 63 74 6f 72 73 20 74 6f 20 73 63 61 6c 61 72 73 2e 20 56 65 63 74 6f 72 73 20 61 6c 73 6f 20 73 ctors.to.scalars..Vectors.also.s
309e0 75 70 70 6f 72 74 20 61 73 73 69 67 6e 6d 65 6e 74 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 0a 20 upport.assignment.to.and.from...
30a00 20 20 20 20 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 20 61 72 72 61 79 73 20 77 69 74 68 20 63 6f .....fixed-length.arrays.with.co
30a20 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a mptime.known.length........</p>.
30a40 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 72 65 61 72 72 61 6e 67 69 6e 67 20 ......<p>.......For.rearranging.
30a60 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 69 6e 20 61 6e 64 20 62 65 74 77 65 65 6e 20 76 65 63 74 elements.within.and.between.vect
30a80 6f 72 73 2c 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 ors,.Zig.provides.the.<a.href="#
30aa0 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 shuffle">@shuffle</a>.and.<a.hre
30ac0 66 3d 22 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 20 66 75 6e 63 74 69 6f 6e f="#select">@select</a>.function
30ae0 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 4f 70 s........</p>.......<p>.......Op
30b00 65 72 61 74 69 6f 6e 73 20 6f 6e 20 76 65 63 74 6f 72 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e erations.on.vectors.shorter.than
30b20 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 65 20 53 49 4d .the.target.machine's.native.SIM
30b40 44 20 73 69 7a 65 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 63 6f 6d 70 69 6c 65 20 74 6f D.size.will.typically.compile.to
30b60 20 73 69 6e 67 6c 65 20 53 49 4d 44 20 0a 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 .single.SIMD........instructions
30b80 2c 20 77 68 69 6c 65 20 76 65 63 74 6f 72 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 74 68 65 20 ,.while.vectors.longer.than.the.
30ba0 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 20 6e 61 74 69 76 65 20 53 49 4d 44 20 73 69 7a target.machine's.native.SIMD.siz
30bc0 65 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 53 49 4d 44 20 e.will.compile.to.multiple.SIMD.
30be0 0a 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 49 66 20 61 20 67 69 76 65 6e 20 .......instructions..If.a.given.
30c00 6f 70 65 72 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 53 49 4d 44 20 73 75 70 70 operation.doesn't.have.SIMD.supp
30c20 6f 72 74 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 ort.on.the.target.architecture,.
30c40 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 0a 20 20 20 20 20 the.compiler.will.default.......
30c60 20 74 6f 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 65 61 63 68 20 76 65 63 74 6f 72 20 65 6c 65 .to.operating.on.each.vector.ele
30c80 6d 65 6e 74 20 6f 6e 65 20 61 74 20 61 20 74 69 6d 65 2e 20 5a 69 67 20 73 75 70 70 6f 72 74 73 ment.one.at.a.time..Zig.supports
30ca0 20 61 6e 79 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 .any.comptime-known.vector.lengt
30cc0 68 20 75 70 20 74 6f 20 32 5e 33 32 2d 31 2c 20 0a 20 20 20 20 20 20 61 6c 74 68 6f 75 67 68 20 h.up.to.2^32-1,........although.
30ce0 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 29 20 61 72 65 20 6d small.powers.of.two.(2-64).are.m
30d00 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 63 65 73 73 69 76 65 ost.typical..Note.that.excessive
30d20 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 2e 67 2e 20 32 5e 32 ly.long.vector.lengths.(e.g..2^2
30d40 30 29 20 6d 61 79 20 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 6e 20 63 6f 6d 70 69 6c 65 72 0).may........result.in.compiler
30d60 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 6e 73 20 6f 66 20 .crashes.on.current.versions.of.
30d80 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 75 72 65 3e 3c 66 Zig........</p>.......<figure><f
30da0 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.
30dc0 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 65 2e 7a 69 67 3c class="file">vector_example.zig<
30de0 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
30e00 70 61 6e 20 63 6c 61 73 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
30e20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
30e40 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
30e60 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
30e80 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
30ea0 61 73 73 3d 22 6c 69 6e 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">
30ec0 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 6d 65 74 61 2e 56 const</span>.Vector.=.std.meta.V
30ee0 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 22 6c 69 6e 65 22 ector;</span>.<span.class="line"
30f00 3e 3c 73 70 61 6e 20 63 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
30f20 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 n>.expectEqual.=.std.testing.exp
30f40 65 63 74 45 71 75 61 6c 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ectEqual;</span>.<span.class="li
30f60 6e 65 22 3e 3c 2f 73 70 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"><
30f80 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>.
30fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 42 61 73 69 <span.class="tok-str">&quot;Basi
30fc0 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 3e 20 7b 3c 2f 73 c.vector.usage&quot;</span>.{</s
30fe0 70 61 6e 3e 0a 3c 73 70 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
31000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 n.class="tok-comment">//.Vectors
31020 20 68 61 76 65 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 .have.a.compile-time.known.lengt
31040 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 70 61 6e 3e 0a 3c h.and.base.type,</span></span>.<
31060 73 70 61 6e 20 63 6c 61 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
31080 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 20 62 65 20 61 73 s="tok-comment">//.and.can.be.as
310a0 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 72 61 6c 20 73 79 signed.to.using.array.literal.sy
310c0 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 6c 61 73 73 3d 22 ntax</span></span>.<span.class="
310e0 6c 69 6e 65 22 3e 20 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
31100 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 6e 20 63 6c 61 73 onst</span>.a:.Vector(<span.clas
31120 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">4</span>,.<span.c
31140 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f lass="tok-type">i32</span>).=.[_
31160 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 ]<span.class="tok-type">i32</spa
31180 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 2f n>{.<span.class="tok-number">1</
311a0 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">
311c0 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 65 2</span>,.<span.class="tok-numbe
311e0 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 75 r">3</span>,.<span.class="tok-nu
31200 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">4</span>.};</span>.<span.c
31220 6c 61 73 73 3d 22 6c 69 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
31240 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 72 28 3c 73 70 61 -kw">const</span>.b:.Vector(<spa
31260 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>,.<
31280 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>
312a0 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
312c0 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
312e0 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
31300 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 73 3d 22 74 6f 6b mber">6</span>,.<span.class="tok
31320 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">7</span>,.<span.class="
31340 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 70 61 6e 3e 0a 3c tok-number">8</span>.};</span>.<
31360 73 70 61 6e 20 63 6c 61 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.
31380 63 6c 61 73 73 3d 22 6c 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
313a0 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 6f 6e 73 20 74 61 k-comment">//.Math.operations.ta
313c0 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 6e 3e 3c 2f 73 70 ke.place.element-wise</span></sp
313e0 61 6e 3e 0a 3c 73 70 61 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
31400 20 63 6c 61 73 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.=
31420 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
31440 22 3e 3c 2f 73 70 61 6e 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">...
31460 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e .<span.class="tok-comment">//.In
31480 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 61 6e 20 62 65 20 dividual.vector.elements.can.be.
314a0 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 69 6e 67 20 73 79 accessed.using.array.indexing.sy
314c0 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ntax.</span></span>.<span.class=
314e0 22 6c 69 6e 65 22 3e 20 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">
31500 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 63 6c 61 try</span>.expectEqual(<span.cla
31520 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 63 5b 3c 73 70 61 ss="tok-number">6</span>,.c[<spa
31540 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b n.class="tok-number">0</span>]);
31560 3c 2f 73 70 61 6e 3e 0a 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">....<
31580 73 70 61 6e 20 63 6c 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
315a0 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 xpectEqual(<span.class="tok-numb
315c0 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 73 3d 22 74 6f 6b er">8</span>,.c[<span.class="tok
315e0 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 3e 0a 3c 73 70 61 -number">1</span>]);</span>.<spa
31600 6e 20 63 6c 61 73 73 3d 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="
31620 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c tok-kw">try</span>.expectEqual(<
31640 73 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
31660 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c >,.c[<span.class="tok-number">2<
31680 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>]);</span>.<span.class="li
316a0 6e 65 22 3e 20 20 20 20 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
316c0 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 3d </span>.expectEqual(<span.class=
316e0 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 3c 73 70 61 6e 20 "tok-number">12</span>,.c[<span.
31700 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f class="tok-number">3</span>]);</
31720 73 70 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
31740 3e 0a 3c 73 70 61 6e 20 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
31760 61 6e 20 63 6c 61 73 73 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
31780 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
317a0 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 74 77 65 65 6e 20 k-str">&quot;Conversion.between.
317c0 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 6f 74 vectors,.arrays,.and.slices&quot
317e0 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
31800 69 6e 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
31820 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 20 61 6e 64 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 20 61 t">//.Vectors.and.fixed-length.a
31840 72 72 61 79 73 20 63 61 6e 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 73 73 69 67 rrays.can.be.automatically.assig
31860 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 2f 73 70 61 6e 3e ned.back.and.forth</span></span>
31880 0a 3c 73 70 61 6e 20 63 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
318a0 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 31 3a 20 5b 3c ass="tok-kw">var</span>.arr1:.[<
318c0 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>
318e0 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 ]<span.class="tok-type">f32</spa
31900 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 79 70 65 22 3e 66 n>.=.[_]<span.class="tok-type">f
31920 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 62 32</span>{.<span.class="tok-numb
31940 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 73 3d 22 74 6f 6b er">1.1</span>,.<span.class="tok
31960 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 20 63 6c 61 73 73 -number">3.2</span>,.<span.class
31980 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 3c 73 70 61 6e 20 ="tok-number">4.5</span>,.<span.
319a0 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 61 6e 3e 20 7d 3b class="tok-number">5.6</span>.};
319c0 3c 2f 73 70 61 6e 3e 0a 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">....<
319e0 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 76 span.class="tok-kw">var</span>.v
31a00 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 6b 2d 6e 75 6d 62 ec:.Vector(<span.class="tok-numb
31a20 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 er">4</span>,.<span.class="tok-t
31a40 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 73 70 61 6e 3e 0a ype">f32</span>).=.arr1;</span>.
31a60 3c 73 70 61 6e 20 63 6c 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
31a80 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 32 3a 20 5b 3c 73 ss="tok-kw">var</span>.arr2:.[<s
31aa0 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>]
31ac0 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
31ae0 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 73 3d 22 6c 69 6e >.=.vec;</span>.<span.class="lin
31b00 65 22 3e 20 20 20 20 3c 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<
31b20 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 61 72 72 31 2c 20 61 72 72 32 29 3b 3c /span>.expectEqual(arr1,.arr2);<
31b40 2f 73 70 61 6e 3e 0a 3c 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
31b60 3e 0a 3c 73 70 61 6e 20 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
31b80 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 6e 20 61 6c lass="tok-comment">//.You.can.al
31ba0 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 68 20 63 6f 6d 70 so.assign.from.a.slice.with.comp
31bc0 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 74 6f 72 20 75 73 time-known.length.to.a.vector.us
31be0 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 20 63 6c 61 73 73 ing..*</span></span>.<span.class
31c00 3d 22 6c 69 6e 65 22 3e 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"
31c20 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 28 3c 73 70 61 6e >const</span>.vec2:.Vector(<span
31c40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">2</span>,.<s
31c60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">f32</span>)
31c80 20 3d 20 61 72 72 31 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .=.arr1[<span.class="tok-number"
31ca0 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >1</span>..<span.class="tok-numb
31cc0 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">3</span>].*;</span>.<span.cl
31ce0 61 73 73 3d 22 6c 69 6e 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="
31d00 6c 69 6e 65 22 3e 20 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
31d20 61 72 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ar</span>.slice:.[]<span.class="
31d40 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
31d60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 72 ="tok-type">f32</span>.=.&amp;ar
31d80 72 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 r1;</span>.<span.class="line">..
31da0 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
31dc0 3e 20 6f 66 66 73 65 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >.offset:.<span.class="tok-type"
31de0 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >u32</span>.=.<span.class="tok-n
31e00 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
31e20 61 73 73 3d 22 6c 69 6e 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-
31e40 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 65 78 74 72 61 63 74 20 61 20 63 6f 6d 70 74 69 6d comment">//.To.extract.a.comptim
31e60 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 66 72 6f 6d 20 61 20 72 75 6e 74 69 6d 65 2d 6b 6e e-known.length.from.a.runtime-kn
31e80 6f 77 6e 20 6f 66 66 73 65 74 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 own.offset,</span></span>.<span.
31ea0 63 6c 61 73 73 3d 22 6c 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
31ec0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 69 72 73 74 20 65 78 74 72 61 63 74 20 61 20 6e 65 k-comment">//.first.extract.a.ne
31ee0 77 20 73 6c 69 63 65 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 6f 66 66 73 65 74 w.slice.from.the.starting.offset
31f00 2c 20 74 68 65 6e 20 61 6e 20 61 72 72 61 79 20 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ,.then.an.array.of</span></span>
31f20 0a 3c 73 70 61 6e 20 63 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
31f40 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 74 69 6d 65 20 6b 6e ass="tok-comment">//.comptime.kn
31f60 6f 77 6e 20 6c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 own.length</span></span>.<span.c
31f80 6c 61 73 73 3d 22 6c 69 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
31fa0 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 63 74 6f 72 28 3c -kw">const</span>.vec3:.Vector(<
31fc0 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>
31fe0 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 73 70 ,.<span.class="tok-type">f32</sp
32000 61 6e 3e 29 20 3d 20 73 6c 69 63 65 5b 6f 66 66 73 65 74 2e 2e 5d 5b 3c 73 70 61 6e 20 63 6c 61 an>).=.slice[offset..][<span.cla
32020 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 ss="tok-number">0</span>..<span.
32040 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 3c class="tok-number">2</span>].*;<
32060 2f 73 70 61 6e 3e 0a 3c 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
32080 70 61 6e 20 63 6c 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
320a0 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 5d 2c 20 76 65 63 32 5b 3c 73 pectEqual(slice[offset],.vec2[<s
320c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
320e0 29 3b 3c 2f 73 70 61 6e 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">...
32100 20 3c 73 70 61 6e 20 63 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>
32120 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 20 2b 20 3c 73 70 61 .expectEqual(slice[offset.+.<spa
32140 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 2c 20 n.class="tok-number">1</span>],.
32160 76 65 63 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c vec2[<span.class="tok-number">1<
32180 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>]);</span>.<span.class="li
321a0 6e 65 22 3e 20 20 20 20 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
321c0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 76 65 63 32 2c 20 76 65 63 33 29 3b </span>.expectEqual(vec2,.vec3);
321e0 3c 2f 73 70 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
32200 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
32220 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
32240 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
32260 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 76 n.class="line">$.<kbd>zig.test.v
32280 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 70 61 6e 3e 0a 3c ector_example.zig</kbd></span>.<
322a0 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
322c0 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 2e 2e 20 4f 4b 3c ;Basic.vector.usage&quot;....OK<
322e0 2f 73 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 /span>.<span.class="line">2/2.te
32300 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 6e 20 76 65 63 74 st.&quot;Conversion.between.vect
32320 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 73 26 71 75 6f 74 3b 2e 2e 2e ors,.arrays,.and.slices&quot;...
32340 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
32360 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 3e l.2.tests.passed.</span>.</samp>
32380 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>.......
323a0 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 72 6f 70 3c 62 72 TODO.talk.about.C.ABI.interop<br
323c0 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 67 65 73 74 69 6e />.......TODO.consider.suggestin
323e0 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 20 3c 2f 70 3e 0a g.std.MultiArrayList.......</p>.
32400 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><
32420 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 3c 2f 6c 69 3e 0a a.href="#splat">@splat</a></li>.
32440 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c <li><a.href="#shuffle">@shuffle<
32460 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 65 63 74 22 3e 40 /a></li>.<li><a.href="#select">@
32480 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 66 3d 22 23 72 65 select</a></li>.<li><a.href="#re
324a0 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 6c 3e 0a 0a 20 20 duce">@reduce</a></li>.</ul>....
324c0 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 50 6f 69 6e 74 ...................<h2.id="Point
324e0 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 50 6f 69 6e ers"><a.href="nav.xhtml#toc-Poin
32500 74 65 72 73 22 3e 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 ters">Pointers</a>.<a.class="hdr
32520 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a ".href="#Pointers">..</a></h2>..
32540 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 74 77 6f 20 6b 69 6e 64 ......<p>.......Zig.has.two.kind
32560 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 3a 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 61 6e 64 20 6d s.of.pointers:.single-item.and.m
32580 61 6e 79 2d 69 74 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a any-item........</p>.......<ul>.
325a0 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=
325c0 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 69 6e 67 6c 65 "line">*T</span></code>.-.single
325e0 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 69 74 65 -item.pointer.to.exactly.one.ite
32600 6d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 m..............<ul>.............
32620 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 64 65 72 65 66 20 73 79 6e 74 61 78 3a 20 3c 63 6f ..<li>Supports.deref.syntax:.<co
32640 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 2e 2a 3c 2f 73 70 61 de><span.class="line">ptr.*</spa
32660 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e n></code></li>.............</ul>
32680 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 3c ...........</li>...........<li><
326a0 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 73 70 code><span.class="line">[*]T</sp
326c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 an></code>.-.many-item.pointer.t
326e0 6f 20 75 6e 6b 6e 6f 77 6e 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 2e 0a 20 20 20 20 20 o.unknown.number.of.items.......
32700 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 75 .......<ul>...............<li>Su
32720 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e pports.index.syntax:.<code><span
32740 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="line">ptr[i]</span></cod
32760 65 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 53 75 70 70 6f 72 e></li>...............<li>Suppor
32780 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ts.slice.syntax:.<code><span.cla
327a0 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 73 70 61 6e 3e ss="line">ptr[start..end]</span>
327c0 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 </code></li>...............<li>S
327e0 75 70 70 6f 72 74 73 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 3a 20 3c 63 6f 64 upports.pointer.arithmetic:.<cod
32800 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 2b 20 78 3c 2f 73 70 e><span.class="line">ptr.+.x</sp
32820 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an></code>,.<code><span.class="l
32840 69 6e 65 22 3e 70 74 72 20 2d 20 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a ine">ptr.-.x</span></code></li>.
32860 20 20 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 63 6c ..............<li><code><span.cl
32880 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 6d 75 73 74 20 ass="line">T</span></code>.must.
328a0 68 61 76 65 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 have.a.known.size,.which.means.t
328c0 68 61 74 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c hat.it.cannot.be...............<
328e0 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 76 6f 69 64 3c 2f code><span.class="line">c_void</
32900 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 3c 61 20 68 72 65 span></code>.or.any.other.<a.hre
32920 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 20 74 79 70 65 3c 2f 61 3e 2e 3c 2f 6c 69 f="#opaque">opaque.type</a>.</li
32940 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>...........</
32960 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 54 68 65 73 65 20 74 li>.......</ul>.......<p>These.t
32980 79 70 65 73 20 61 72 65 20 63 6c 6f 73 65 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 61 20 68 ypes.are.closely.related.to.<a.h
329a0 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 ref="#Arrays">Arrays</a>.and.<a.
329c0 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 3a 3c 2f 70 3e 0a 20 href="#Slices">Slices</a>:</p>..
329e0 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 .......<ul>.............<li><cod
32a00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 5b 4e 5d 54 3c 2f 73 70 61 6e e><span.class="line">*[N]T</span
32a20 3e 3c 2f 63 6f 64 65 3e 20 2d 20 70 6f 69 6e 74 65 72 20 74 6f 20 4e 20 69 74 65 6d 73 2c 20 73 ></code>.-.pointer.to.N.items,.s
32a40 61 6d 65 20 61 73 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 ame.as.single-item.pointer.to.an
32a60 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 .array..............<ul>........
32a80 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 .........<li>Supports.index.synt
32aa0 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 72 ax:.<code><span.class="line">arr
32ac0 61 79 5f 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 20 20 ay_ptr[i]</span></code></li>....
32ae0 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.
32b00 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"
32b20 3e 61 72 72 61 79 5f 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 >array_ptr[start..end]</span></c
32b40 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 ode></li>.................<li>Su
32b60 70 70 6f 72 74 73 20 6c 65 6e 20 70 72 6f 70 65 72 74 79 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e pports.len.property:.<code><span
32b80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 72 61 79 5f 70 74 72 2e 6c 65 6e 3c 2f 73 70 61 .class="line">array_ptr.len</spa
32ba0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e n></code></li>.............</ul>
32bc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e .............</li>.........</ul>
32be0 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 .........<ul>.............<li><c
32c00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 5d 54 3c 2f 73 70 61 6e ode><span.class="line">[]T</span
32c20 3e 3c 2f 63 6f 64 65 3e 20 2d 20 70 6f 69 6e 74 65 72 20 74 6f 20 72 75 6e 74 69 6d 65 2d 6b 6e ></code>.-.pointer.to.runtime-kn
32c40 6f 77 6e 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 own.number.of.items.............
32c60 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 .<ul>.................<li>Suppor
32c80 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ts.index.syntax:.<code><span.cla
32ca0 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="line">slice[i]</span></code>
32cc0 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 72 </li>.................<li>Suppor
32ce0 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ts.slice.syntax:.<code><span.cla
32d00 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 73 70 61 ss="line">slice[start..end]</spa
32d20 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c n></code></li>.................<
32d40 6c 69 3e 53 75 70 70 6f 72 74 73 20 6c 65 6e 20 70 72 6f 70 65 72 74 79 3a 20 3c 63 6f 64 65 3e li>Supports.len.property:.<code>
32d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 2e 6c 65 6e 3c 2f 73 70 <span.class="line">slice.len</sp
32d80 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c an></code></li>.............</ul
32da0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c >.............</li>.........</ul
32dc0 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 >.........<p>Use.<code><span.cla
32de0 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 ss="line">&amp;x</span></code>.t
32e00 6f 20 6f 62 74 61 69 6e 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 3a 3c o.obtain.a.single-item.pointer:<
32e20 2f 70 3e 0a 20 20 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.
32e40 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
32e60 65 22 3e 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 5f 74 65 73 74 2e 7a 69 67 3c e">single_item_pointer_test.zig<
32e80 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
32ea0 70 61 6e 20 63 6c 61 73 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
32ec0 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
32ee0 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
32f00 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
32f20 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
32f40 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
32f60 70 61 6e 3e 0a 3c 73 70 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
32f80 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
32fa0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 64 64 72 65 73 73 20 6f 66 20 lass="tok-str">&quot;address.of.
32fc0 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 syntax&quot;</span>.{</span>.<sp
32fe0 61 6e 20 63 6c 61 73 73 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=
33000 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 "tok-comment">//.Get.the.address
33020 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .of.a.variable:</span></span>.<s
33040 70 61 6e 20 63 6c 61 73 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
33060 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.
33080 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
330a0 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
330c0 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">..
330e0 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
33100 61 6e 3e 20 78 5f 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e an>.x_ptr.=.&amp;x;</span>.<span
33120 20 63 6c 61 73 73 3d 22 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
33140 73 3d 22 6c 69 6e 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
33160 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 72 65 66 65 72 65 6e 63 65 20 61 20 70 6f 69 6e 74 65 72 3a mment">//.Dereference.a.pointer:
33180 3c 2f 73 70 61 6e 3e 3c 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
331a0 22 3e 20 20 20 20 3c 73 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</
331c0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c span>.expect(x_ptr.*.==.<span.cl
331e0 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>);</
33200 73 70 61 6e 3e 0a 3c 73 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>
33220 0a 3c 73 70 61 6e 20 63 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
33240 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 79 6f 75 20 67 65 ass="tok-comment">//.When.you.ge
33260 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 63 6f 6e 73 74 20 76 61 72 69 61 62 6c t.the.address.of.a.const.variabl
33280 65 2c 20 79 6f 75 20 67 65 74 20 61 20 63 6f 6e 73 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 e,.you.get.a.const.single-item.p
332a0 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ointer.</span></span>.<span.clas
332c0 73 3d 22 6c 69 6e 65 22 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
332e0 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=
33300 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 5f 70 "tok-builtin">@TypeOf</span>(x_p
33320 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e tr).==.*<span.class="tok-kw">con
33340 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"
33360 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >i32</span>);</span>.<span.class
33380 3d 22 6c 69 6e 65 22 3e 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
333a0 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"
333c0 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 75 74 61 74 65 20 74 68 65 20 76 61 >//.If.you.want.to.mutate.the.va
333e0 6c 75 65 2c 20 79 6f 75 27 64 20 6e 65 65 64 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 lue,.you'd.need.an.address.of.a.
33400 6d 75 74 61 62 6c 65 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a mutable.variable:</span></span>.
33420 3c 73 70 61 6e 20 63 6c 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
33440 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 20 ss="tok-kw">var</span>.y:.<span.
33460 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
33480 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 pan.class="tok-number">5678</spa
334a0 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">..
334c0 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
334e0 61 6e 3e 20 79 5f 70 74 72 20 3d 20 26 61 6d 70 3b 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e an>.y_ptr.=.&amp;y;</span>.<span
33500 20 63 6c 61 73 73 3d 22 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
33520 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
33540 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
33560 3e 28 79 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 >(y_ptr).==.*<span.class="tok-ty
33580 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">i32</span>);</span>.<span.cl
335a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 5f 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 ass="line">....y_ptr.*.+=.<span.
335c0 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
335e0 61 6e 3e 0a 3c 73 70 61 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
33600 20 63 6c 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
33620 74 28 79 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 t(y_ptr.*.==.<span.class="tok-nu
33640 6d 62 65 72 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">5679</span>);</span>.<span
33660 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
33680 73 73 3d 22 6c 69 6e 65 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
336a0 69 6e 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</
336c0 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
336e0 74 3b 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 26 71 75 6f 74 3b 3c 2f 73 70 t;pointer.array.access&quot;</sp
33700 61 6e 3e 20 7b 3c 2f 73 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">
33720 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">//
33740 20 54 61 6b 69 6e 67 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 6e 20 69 6e 64 69 76 69 64 .Taking.an.address.of.an.individ
33760 75 61 6c 20 65 6c 65 6d 65 6e 74 20 67 69 76 65 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ual.element.gives.a</span></span
33780 3e 0a 3c 73 70 61 6e 20 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
337a0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 6e 67 6c 65 2d 69 74 65 lass="tok-comment">//.single-ite
337c0 6d 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 70 6f 69 6e 74 65 72 3c m.pointer..This.kind.of.pointer<
337e0 2f 73 70 61 6e 3e 3c 2f 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"
33800 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">/
33820 2f 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 /.does.not.support.pointer.arith
33840 6d 65 74 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 metic.</span></span>.<span.class
33860 3d 22 6c 69 6e 65 22 3e 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"
33880 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 6c 61 >var</span>.array.=.[_]<span.cla
338a0 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 20 63 ss="tok-type">u8</span>{.<span.c
338c0 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
338e0 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 20 3c n.class="tok-number">2</span>,.<
33900 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>
33920 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 70 ,.<span.class="tok-number">4</sp
33940 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 35 3c an>,.<span.class="tok-number">5<
33960 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"
33980 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >6</span>,.<span.class="tok-numb
339a0 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">7</span>,.<span.class="tok-n
339c0 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">8</span>,.<span.class="to
339e0 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">9</span>,.<span.class=
33a00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e "tok-number">10</span>.};</span>
33a20 0a 3c 73 70 61 6e 20 63 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
33a40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 ass="tok-kw">const</span>.ptr.=.
33a60 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 &amp;array[<span.class="tok-numb
33a80 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">2</span>];</span>.<span.clas
33aa0 73 3d 22 6c 69 6e 65 22 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
33ac0 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=
33ae0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 "tok-builtin">@TypeOf</span>(ptr
33b00 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c ).==.*<span.class="tok-type">u8<
33b20 2f 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
33b40 65 22 3e 3c 2f 73 70 61 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">..
33b60 20 20 3c 73 70 61 6e 20 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
33b80 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-
33ba0 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 61 73 73 number">2</span>].==.<span.class
33bc0 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 6e 3e 0a ="tok-number">3</span>);</span>.
33be0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 <span.class="line">....ptr.*.+=.
33c00 3c 73 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
33c20 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">...
33c40 20 3c 73 70 61 6e 20 63 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>
33c60 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .expect(array[<span.class="tok-n
33c80 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 61 73 73 3d umber">2</span>].==.<span.class=
33ca0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">4</span>);</span>.<
33cc0 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
33ce0 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
33d00 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
33d20 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="
33d40 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 69 6e 67 6c 65 5f 69 74 65 line">$.<kbd>zig.test.single_ite
33d60 6d 5f 70 6f 69 6e 74 65 72 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a m_pointer_test.zig</kbd></span>.
33d80 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
33da0 74 3b 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c t;address.of.syntax&quot;....OK<
33dc0 2f 73 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 /span>.<span.class="line">2/2.te
33de0 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 26 71 75 st.&quot;pointer.array.access&qu
33e00 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
33e20 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>.<
33e40 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>.
33e60 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 77 65 20 67 65 6e 65 72 61 6c 6c 79 20 70 72 65 ........In.Zig,.we.generally.pre
33e80 66 65 72 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e fer.<a.href="#Slices">Slices</a>
33ea0 20 72 61 74 68 65 72 20 74 68 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d .rather.than.<a.href="#Sentinel-
33ec0 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 Terminated-Pointers">Sentinel-Te
33ee0 72 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 20 20 59 rminated.Pointers</a>..........Y
33f00 6f 75 20 63 61 6e 20 74 75 72 6e 20 61 6e 20 61 72 72 61 79 20 6f 72 20 70 6f 69 6e 74 65 72 20 ou.can.turn.an.array.or.pointer.
33f20 69 6e 74 6f 20 61 20 73 6c 69 63 65 20 75 73 69 6e 67 20 73 6c 69 63 65 20 73 79 6e 74 61 78 2e into.a.slice.using.slice.syntax.
33f40 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 53 6c .......</p>.......<p>.........Sl
33f60 69 63 65 73 20 68 61 76 65 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 61 72 ices.have.bounds.checking.and.ar
33f80 65 20 74 68 65 72 65 66 6f 72 65 20 70 72 6f 74 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 61 67 e.therefore.protected.........ag
33fa0 61 69 6e 73 74 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 ainst.this.kind.of.undefined.beh
33fc0 61 76 69 6f 72 2e 20 54 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 avior..This.is.one.reason.......
33fe0 20 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 0a ..we.prefer.slices.to.pointers..
34000 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
34020 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
34040 3d 22 66 69 6c 65 22 3e 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ="file">slice_bounds.zig</cite><
34060 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
34080 73 73 3d 22 6c 69 6e 65 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
340a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.expect.=.<span.class
340c0 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
340e0 70 61 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
34100 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
34120 6e 3e 0a 3c 73 70 61 6e 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
34140 70 61 6e 20 63 6c 61 73 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
34160 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
34180 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 26 71 75 ok-str">&quot;pointer.slicing&qu
341a0 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=
341c0 22 6c 69 6e 65 22 3e 20 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">
341e0 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 6c 61 73 var</span>.array.=.[_]<span.clas
34200 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
34220 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">1</span>,.<span
34240 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">2</span>,.<s
34260 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 2c pan.class="tok-number">3</span>,
34280 20 3c 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
342a0 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 35 3c 2f n>,.<span.class="tok-number">5</
342c0 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">
342e0 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 6</span>,.<span.class="tok-numbe
34300 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">7</span>,.<span.class="tok-nu
34320 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">8</span>,.<span.class="tok
34340 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">9</span>,.<span.class="
34360 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a tok-number">10</span>.};</span>.
34380 3c 73 70 61 6e 20 63 6c 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
343a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d ss="tok-kw">const</span>.slice.=
343c0 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .array[<span.class="tok-number">
343e0 32 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 2</span>..<span.class="tok-numbe
34400 72 22 3e 34 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 r">4</span>];</span>.<span.class
34420 3d 22 6c 69 6e 65 22 3e 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"
34440 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 >try</span>.expect(slice.len.==.
34460 3c 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
34480 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
344a0 73 70 61 6e 3e 0a 3c 73 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
344c0 61 6e 20 63 6c 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
344e0 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ect(array[<span.class="tok-numbe
34500 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">3</span>].==.<span.class="tok
34520 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">4</span>);</span>.<span
34540 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c .class="line">....slice[<span.cl
34560 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 2b 3d 20 3c 73 ass="tok-number">1</span>].+=.<s
34580 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>;
345a0 3c 2f 73 70 61 6e 3e 0a 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">....<
345c0 73 70 61 6e 20 63 6c 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
345e0 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d xpect(array[<span.class="tok-num
34600 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">3</span>].==.<span.class="t
34620 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">5</span>);</span>.<sp
34640 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><
34660 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
34680 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
346a0 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
346c0 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6c 69 63 65 5f 62 6f 75 6e 64 73 ne">$.<kbd>zig.test.slice_bounds
346e0 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
34700 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 73 6c 69 63 ine">1/1.test.&quot;pointer.slic
34720 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 61 ing&quot;....OK</span>.<span.cla
34740 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
34760 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>.....
34780 20 20 3c 70 3e 50 6f 69 6e 74 65 72 73 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 ..<p>Pointers.work.at.compile-ti
347a0 6d 65 20 74 6f 6f 2c 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f 64 65 20 64 6f 65 73 me.too,.as.long.as.the.code.does
347c0 20 6e 6f 74 20 64 65 70 65 6e 64 20 6f 6e 0a 20 20 20 20 20 20 61 6e 20 75 6e 64 65 66 69 6e 65 .not.depend.on.......an.undefine
347e0 64 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 d.memory.layout:</p>.......<figu
34800 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"><
34820 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 70 6f 69 6e 74 cite.class="file">comptime_point
34840 65 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ers.zig</cite></figcaption><pre>
34860 3c 63 6f 64 65 3e 3c 73 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
34880 6c 61 73 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
348a0 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
348c0 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
348e0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 r">&quot;std&quot;</span>).testi
34900 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
34920 69 6e 65 22 3e 3c 2f 73 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">
34940 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>
34960 20 3c 73 70 61 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 .<span.class="tok-str">&quot;com
34980 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ptime.pointers&quot;</span>.{</s
349a0 70 61 6e 3e 0a 3c 73 70 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
349c0 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>
349e0 20 7b 3c 2f 73 70 61 6e 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">...
34a00 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
34a20 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
34a40 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
34a60 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
34a80 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
34aa0 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 3b 78 3b k-kw">const</span>.ptr.=.&amp;x;
34ac0 3c 2f 73 70 61 6e 3e 0a 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">.....
34ae0 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ...ptr.*.+=.<span.class="tok-num
34b00 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
34b20 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 61 73 s="line">........x.+=.<span.clas
34b40 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>.
34b60 3c 73 70 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
34b80 20 63 6c 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
34ba0 74 28 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 t(ptr.*.==.<span.class="tok-numb
34bc0 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">3</span>);</span>.<span.clas
34be0 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
34c00 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></
34c20 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
34c40 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><
34c60 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">$.<
34c80 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a kbd>zig.test.comptime_pointers.z
34ca0 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
34cc0 65 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 70 6f 69 6e 74 e">1/1.test.&quot;comptime.point
34ce0 65 72 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 61 ers&quot;....OK</span>.<span.cla
34d00 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
34d20 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>.....
34d40 20 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 61 64 64 72 65 ..<p>To.convert.an.integer.addre
34d60 73 73 20 69 6e 74 6f 20 61 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 ss.into.a.pointer,.use.<code><sp
34d80 61 6e 20 63 6c 61 73 73 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
34da0 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e -builtin">@intToPtr</span></span
34dc0 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 74 20 61 20 70 6f 69 ></code>........To.convert.a.poi
34de0 6e 74 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 nter.to.an.integer,.use.<code><s
34e00 70 61 6e 20 63 6c 61 73 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
34e20 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 k-builtin">@ptrToInt</span></spa
34e40 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 n></code>:</p>.......<figure><fi
34e60 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
34e80 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 lass="file">integer_pointer_conv
34ea0 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ersion.zig</cite></figcaption><p
34ec0 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
34ee0 6e 20 63 6c 61 73 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
34f00 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 pect.=.<span.class="tok-builtin"
34f20 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
34f40 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 -str">&quot;std&quot;</span>).te
34f60 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
34f80 3d 22 6c 69 6e 65 22 3e 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
34fa0 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
34fc0 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;
34fe0 40 70 74 72 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 3c 2f 73 @ptrToInt.and.@intToPtr&quot;</s
35000 70 61 6e 3e 20 7b 3c 2f 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"
35020 3e 20 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<
35040 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.ptr.=.<span.class="tok-bu
35060 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 iltin">@intToPtr</span>(*<span.c
35080 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-type">i32</span>,.<spa
350a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c n.class="tok-number">0xdeadbee0<
350c0 2f 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
350e0 65 22 3e 20 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
35100 74 3c 2f 73 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 t</span>.addr.=.<span.class="tok
35120 2d 62 75 69 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 -builtin">@ptrToInt</span>(ptr);
35140 3c 2f 73 70 61 6e 3e 0a 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">....<
35160 73 70 61 6e 20 63 6c 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
35180 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">
351a0 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
351c0 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
351e0 70 61 6e 3e 0a 3c 73 70 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
35200 6e 20 63 6c 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
35220 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ct(addr.==.<span.class="tok-numb
35240 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 6e 3e 0a 3c er">0xdeadbee0</span>);</span>.<
35260 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
35280 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
352a0 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
352c0 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="
352e0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e 74 65 67 65 72 5f 70 6f line">$.<kbd>zig.test.integer_po
35300 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 2f 73 70 61 6e inter_conversion.zig</kbd></span
35320 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
35340 75 6f 74 3b 40 70 74 72 54 6f 49 6e 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 uot;@ptrToInt.and.@intToPtr&quot
35360 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
35380 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
353a0 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 5a 69 67 amp></pre></figure>.......<p>Zig
353c0 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 65 73 65 72 76 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 .is.able.to.preserve.memory.addr
353e0 65 73 73 65 73 20 69 6e 20 63 6f 6d 70 74 69 6d 65 20 63 6f 64 65 2c 20 61 73 20 6c 6f 6e 67 20 esses.in.comptime.code,.as.long.
35400 61 73 0a 20 20 20 20 20 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 65 72 20 64 65 as.......the.pointer.is.never.de
35420 72 65 66 65 72 65 6e 63 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 referenced:</p>.......<figure><f
35440 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.
35460 63 6c 61 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 5f 63 6f class="file">comptime_pointer_co
35480 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e nversion.zig</cite></figcaption>
354a0 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
354c0 70 61 6e 20 63 6c 61 73 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>.
354e0 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
35500 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
35520 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>).
35540 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
35560 73 73 3d 22 6c 69 6e 65 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
35580 69 6e 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</
355a0 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
355c0 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 3b 3c 2f 73 70 61 6e t;comptime.@intToPtr&quot;</span
355e0 3e 20 7b 3c 2f 73 70 61 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">..
35600 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 3c ..<span.class="tok-kw">comptime<
35620 2f 73 70 61 6e 3e 20 7b 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
35640 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 6d e">........<span.class="tok-comm
35660 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 69 73 20 61 ent">//.Zig.is.able.to.do.this.a
35680 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 3c 2f 73 70 61 6e t.compile-time,.as.long.as</span
356a0 3e 3c 2f 73 70 61 6e 3e 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">....
356c0 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">//
356e0 20 70 74 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 2e 3c 2f 73 70 61 .ptr.is.never.dereferenced.</spa
35700 6e 3e 3c 2f 73 70 61 6e 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">...
35720 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
35740 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.ptr.=.<span.class="tok-bu
35760 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 iltin">@intToPtr</span>(*<span.c
35780 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-type">i32</span>,.<spa
357a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c n.class="tok-number">0xdeadbee0<
357c0 2f 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
357e0 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">
35800 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d const</span>.addr.=.<span.class=
35820 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 70 61 6e 3e 28 70 "tok-builtin">@ptrToInt</span>(p
35840 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 tr);</span>.<span.class="line">.
35860 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<
35880 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 /span>.expect(<span.class="tok-b
358a0 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 uiltin">@TypeOf</span>(addr).==.
358c0 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
358e0 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">
35900 20 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
35920 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 </span>.expect(addr.==.<span.cla
35940 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e ss="tok-number">0xdeadbee0</span
35960 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">..
35980 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">}<
359a0 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
359c0 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
359e0 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><
35a00 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
35a20 74 20 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 t.comptime_pointer_conversion.zi
35a40 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
35a60 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 40 69 6e 74 54 6f ">1/1.test.&quot;comptime.@intTo
35a80 50 74 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 Ptr&quot;....OK</span>.<span.cla
35aa0 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
35ac0 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>.....
35ae0 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
35b00 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
35b20 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 66 3d 22 .Pointers</a></li>.<li><a.href="
35b40 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 3c 6c #intToPtr">@intToPtr</a></li>.<l
35b60 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c i><a.href="#ptrToInt">@ptrToInt<
35b80 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 /a></li>.<li><a.href="#C-Pointer
35ba0 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 s">C.Pointers</a></li>.<li><a.hr
35bc0 65 66 3d 22 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 ef="#Pointers-to-Zero-Bit-Types"
35be0 3e 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 3c >Pointers.to.Zero.Bit.Types</a><
35c00 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f 6c 61 74 69 /li>.</ul>........<h3.id="volati
35c20 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 76 6f 6c 61 74 le"><a.href="nav.xhtml#toc-volat
35c40 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ile">volatile</a>.<a.class="hdr"
35c60 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 .href="#volatile">..</a></h3>...
35c80 20 20 20 20 20 3c 70 3e 4c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 61 72 65 20 61 73 73 .....<p>Loads.and.stores.are.ass
35ca0 75 6d 65 64 20 74 6f 20 6e 6f 74 20 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 49 umed.to.not.have.side.effects..I
35cc0 66 20 61 20 67 69 76 65 6e 20 6c 6f 61 64 20 6f 72 20 73 74 6f 72 65 0a 20 20 20 20 20 20 73 68 f.a.given.load.or.store.......sh
35ce0 6f 75 6c 64 20 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2c 20 73 75 63 68 20 61 73 20 ould.have.side.effects,.such.as.
35d00 4d 65 6d 6f 72 79 20 4d 61 70 70 65 64 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 20 28 4d 4d 49 4f Memory.Mapped.Input/Output.(MMIO
35d20 29 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ),.use.<code><span.class="line">
35d40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 <span.class="tok-kw">volatile</s
35d60 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 49 6e 20 74 68 65 pan></span></code>........In.the
35d80 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 2c 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 .following.code,.loads.and.store
35da0 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e s.with.<code><span.class="line">
35dc0 6d 6d 69 6f 5f 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 67 75 61 72 61 mmio_ptr</span></code>.are.guara
35de0 6e 74 65 65 64 20 74 6f 20 61 6c 6c 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 61 6e 64 20 69 6e nteed.to.all.happen.......and.in
35e00 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 .the.same.order.as.in.source.cod
35e20 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e e:</p>.......<figure><figcaption
35e40 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
35e60 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 le">volatile.zig</cite></figcapt
35e80 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
35ea0 22 3e 3c 73 70 61 6e 20 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
35ec0 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
35ee0 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
35f00 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
35f20 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
35f40 20 63 6c 61 73 73 3d 22 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
35f60 73 3d 22 6c 69 6e 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
35f80 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">
35fa0 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 &quot;volatile&quot;</span>.{</s
35fc0 70 61 6e 3e 0a 3c 73 70 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
35fe0 6e 20 63 6c 61 73 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 6d n.class="tok-kw">const</span>.mm
36000 69 6f 5f 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 69 io_ptr.=.<span.class="tok-builti
36020 6e 22 3e 40 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 n">@intToPtr</span>(*<span.class
36040 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ="tok-kw">volatile</span>.<span.
36060 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
36080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 3c n.class="tok-number">0x12345678<
360a0 2f 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
360c0 65 22 3e 20 20 20 20 3c 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<
360e0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 /span>.expect(<span.class="tok-b
36100 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6d 6d 69 6f 5f 70 74 72 29 uiltin">@TypeOf</span>(mmio_ptr)
36120 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 .==.*<span.class="tok-kw">volati
36140 6c 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 le</span>.<span.class="tok-type"
36160 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=
36180 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
361a0 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="
361c0 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
361e0 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
36200 64 3e 7a 69 67 20 74 65 73 74 20 76 6f 6c 61 74 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 d>zig.test.volatile.zig</kbd></s
36220 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
36240 20 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 .&quot;volatile&quot;....OK</spa
36260 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
36280 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></
362a0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 figure>.......<p>.......Note.tha
362c0 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e t.<code><span.class="line"><span
362e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">volatile</span><
36300 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 72 65 6c 61 74 65 64 20 74 6f 20 63 6f /span></code>.is.unrelated.to.co
36320 6e 63 75 72 72 65 6e 63 79 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 ncurrency.and.<a.href="#Atomics"
36340 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 73 65 65 20 63 >Atomics</a>........If.you.see.c
36360 6f 64 65 20 74 68 61 74 20 69 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ode.that.is.using.<code><span.cl
36380 61 73 73 3d 22 6c 69 6e 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">
363a0 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f volatile</span></span></code>.fo
363c0 72 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 4d 65 6d 6f 72 79 20 4d 61 r.something.other.than.Memory.Ma
363e0 70 70 65 64 0a 20 20 20 20 20 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 2c 20 69 74 20 69 73 20 70 pped.......Input/Output,.it.is.p
36400 72 6f 62 61 62 6c 79 20 61 20 62 75 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 robably.a.bug........</p>.......
36420 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 74 20 6f 6e 65 20 .......<p>.......To.convert.one.
36440 70 6f 69 6e 74 65 72 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2c 20 75 73 65 20 3c 61 20 pointer.type.to.another,.use.<a.
36460 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 2e 20 54 68 href="#ptrCast">@ptrCast</a>..Th
36480 69 73 20 69 73 20 61 6e 20 75 6e 73 61 66 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 is.is.an.unsafe.......operation.
364a0 74 68 61 74 20 5a 69 67 20 63 61 6e 6e 6f 74 20 70 72 6f 74 65 63 74 20 79 6f 75 20 61 67 61 69 that.Zig.cannot.protect.you.agai
364c0 6e 73 74 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 nst..Use.<code><span.class="line
364e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 "><span.class="tok-builtin">@ptr
36500 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 6c 79 20 77 Cast</span></span></code>.only.w
36520 68 65 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 61 72 65 20 hen.other.......conversions.are.
36540 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c not.possible........</p>.......<
36560 66 69 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
36580 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 63 61 p"><cite.class="file">pointer_ca
365a0 73 74 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 sting.zig</cite></figcaption><pr
365c0 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
365e0 20 63 6c 61 73 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
36600 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
36620 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
36640 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
36660 3e 0a 3c 73 70 61 6e 20 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
36680 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.=.
366a0 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
366c0 20 63 6c 61 73 73 3d 22 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
366e0 73 3d 22 6c 69 6e 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
36700 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
36720 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 &quot;pointer.casting&quot;</spa
36740 6e 3e 20 7b 3c 2f 73 70 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">.
36760 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
36780 70 61 6e 3e 20 62 79 74 65 73 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.bytes.<span.class="tok-kw">
367a0 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 62 75 align</span>(<span.class="tok-bu
367c0 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 iltin">@alignOf</span>(<span.cla
367e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3d 20 5b 5f 5d ss="tok-type">u32</span>)).=.[_]
36800 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>
36820 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 32 3c {.<span.class="tok-number">0x12<
36840 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"
36860 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >0x12</span>,.<span.class="tok-n
36880 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 73 73 3d umber">0x12</span>,.<span.class=
368a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 "tok-number">0x12</span>.};</spa
368c0 6e 3e 0a 3c 73 70 61 6e 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.
368e0 63 6c 61 73 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 class="tok-kw">const</span>.u32_
36900 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 69 6e 22 3e ptr.=.<span.class="tok-builtin">
36920 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 3d 22 74 6f @ptrCast</span>(*<span.class="to
36940 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="
36960 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 62 79 74 65 73 tok-type">u32</span>,.&amp;bytes
36980 29 3b 3c 2f 73 70 61 6e 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">...
369a0 20 3c 73 70 61 6e 20 63 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>
369c0 20 65 78 70 65 63 74 28 75 33 32 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .expect(u32_ptr.*.==.<span.class
369e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 ="tok-number">0x12121212</span>)
36a00 3b 3c 2f 73 70 61 6e 3e 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
36a20 61 6e 3e 0a 3c 73 70 61 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
36a40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 76 65 6e 20 74 68 69 .class="tok-comment">//.Even.thi
36a60 73 20 65 78 61 6d 70 6c 65 20 69 73 20 63 6f 6e 74 72 69 76 65 64 20 2d 20 74 68 65 72 65 20 61 s.example.is.contrived.-.there.a
36a80 72 65 20 62 65 74 74 65 72 20 77 61 79 73 20 74 6f 20 64 6f 20 74 68 65 20 61 62 6f 76 65 20 74 re.better.ways.to.do.the.above.t
36aa0 68 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c han</span></span>.<span.class="l
36ac0 69 6e 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
36ae0 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 2e 20 46 6f 72 20 65 78 61 6d 70 t">//.pointer.casting..For.examp
36b00 6c 65 2c 20 75 73 69 6e 67 20 61 20 73 6c 69 63 65 20 6e 61 72 72 6f 77 69 6e 67 20 63 61 73 74 le,.using.a.slice.narrowing.cast
36b20 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
36b40 65 22 3e 20 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
36b60 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 76 61 6c 75 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 t</span>.u32_value.=.std.mem.byt
36b80 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 esAsSlice(<span.class="tok-type"
36ba0 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >u32</span>,.bytes[<span.class="
36bc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 5b 3c 73 70 61 6e 20 63 tok-number">0</span>..])[<span.c
36be0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 lass="tok-number">0</span>];</sp
36c00 61 6e 3e 0a 3c 73 70 61 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
36c20 20 63 6c 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
36c40 74 28 75 33 32 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d t(u32_value.==.<span.class="tok-
36c60 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 number">0x12121212</span>);</spa
36c80 6e 3e 0a 3c 73 70 61 6e 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
36ca0 70 61 6e 20 63 6c 61 73 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
36cc0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 64 20 65 76 65 6e 20 61 6e 6f 74 68 ="tok-comment">//.And.even.anoth
36ce0 65 72 20 77 61 79 2c 20 74 68 65 20 6d 6f 73 74 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 er.way,.the.most.straightforward
36d00 20 77 61 79 20 74 6f 20 64 6f 20 69 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .way.to.do.it:</span></span>.<sp
36d20 61 6e 20 63 6c 61 73 73 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=
36d40 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
36d60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 .class="tok-builtin">@bitCast</s
36d80 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c pan>(<span.class="tok-type">u32<
36da0 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>,.bytes).==.<span.class="t
36dc0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f ok-number">0x12121212</span>);</
36de0 73 70 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
36e00 3e 0a 3c 73 70 61 6e 20 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
36e20 61 6e 20 63 6c 61 73 73 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
36e40 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
36e60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 68 69 6c 64 20 74 79 70 65 26 k-str">&quot;pointer.child.type&
36e80 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
36ea0 73 3d 22 6c 69 6e 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
36ec0 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 20 68 61 76 65 20 61 20 60 mment">//.pointer.types.have.a.`
36ee0 63 68 69 6c 64 60 20 66 69 65 6c 64 20 77 68 69 63 68 20 74 65 6c 6c 73 20 79 6f 75 20 74 68 65 child`.field.which.tells.you.the
36f00 20 74 79 70 65 20 74 68 65 79 20 70 6f 69 6e 74 20 74 6f 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .type.they.point.to.</span></spa
36f20 6e 3e 0a 3c 73 70 61 6e 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.
36f40 63 6c 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
36f60 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 (<span.class="tok-builtin">@type
36f80 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 2d 74 79 Info</span>(*<span.class="tok-ty
36fa0 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 2e 50 6f 69 6e 74 65 72 2e 63 68 69 6c 64 20 3d 3d pe">u32</span>).Pointer.child.==
36fc0 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
36fe0 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">}
37000 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
37020 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
37040 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>
37060 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
37080 73 74 20 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 st.pointer_casting.zig</kbd></sp
370a0 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 20 an>.<span.class="line">1/2.test.
370c0 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f &quot;pointer.casting&quot;....O
370e0 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 32 2f 32 20 K</span>.<span.class="line">2/2.
37100 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 68 69 6c 64 20 74 79 70 65 26 71 75 test.&quot;pointer.child.type&qu
37120 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
37140 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>.<
37160 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 /samp></pre></figure>.......<h3.
37180 69 64 3d 22 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d id="Alignment"><a.href="nav.xhtm
371a0 6c 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 3c 2f 61 3e 20 3c l#toc-Alignment">Alignment</a>.<
371c0 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 6d 65 6e 74 22 3e a.class="hdr".href="#Alignment">
371e0 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 ..</a></h3>........<p>.......Eac
37200 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 6e 6d 65 6e 74 3c h.type.has.an.<strong>alignment<
37220 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 65 73 20 73 75 63 /strong>.-.a.number.of.bytes.suc
37240 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 20 6f 66 20 74 68 h.that,.......when.a.value.of.th
37260 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 74 6f 72 65 64 20 e.type.is.loaded.from.or.stored.
37280 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 79 20 61 64 64 72 to.memory,.......the.memory.addr
372a0 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 6c 65 20 62 79 20 ess.must.be.evenly.divisible.by.
372c0 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 20 20 20 20 20 3c this.number..You.can.use.......<
372e0 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 3c 2f 61 3e 20 74 a.href="#alignOf">@alignOf</a>.t
37300 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 61 6e 79 20 74 79 o.find.out.this.value.for.any.ty
37320 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 pe........</p>.......<p>.......A
37340 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 55 20 61 72 63 68 lignment.depends.on.the.CPU.arch
37360 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 70 6f 77 65 72 20 itecture,.but.is.always.a.power.
37380 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 6e 20 3c 63 6f 64 of.two,.and.......less.than.<cod
373a0 65 3e 3c 73 70 61 6e 20 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
373c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 ="tok-number">1</span>.&lt;&lt;.
373e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 3c 2f 73 70 61 <span.class="tok-number">29</spa
37400 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 20 n></span></code>........</p>....
37420 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 6e 74 65 72 20 74 ...<p>.......In.Zig,.a.pointer.t
37440 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 2e 20 49 66 20 74 ype.has.an.alignment.value..If.t
37460 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 20 20 20 20 20 61 he.value.is.equal.to.the.......a
37480 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 20 74 79 70 65 2c lignment.of.the.underlying.type,
374a0 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 65 20 74 79 70 65 .it.can.be.omitted.from.the.type
374c0 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
374e0 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
37500 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 6e 74 2e 7a 69 67 ss="file">variable_alignment.zig
37520 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><
37540 73 70 61 6e 20 63 6c 61 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
37560 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
37580 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
375a0 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
375c0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
375e0 6c 61 73 73 3d 22 6c 69 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"
37600 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c >const</span>.builtin.=.<span.cl
37620 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>
37640 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 62 75 69 (<span.class="tok-str">&quot;bui
37660 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ltin&quot;</span>);</span>.<span
37680 20 63 6c 61 73 73 3d 22 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
376a0 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
376c0 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=
376e0 22 6c 69 6e 65 22 3e 3c 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
37700 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
37720 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 76 n>.<span.class="tok-str">&quot;v
37740 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 70 61 6e 3e 20 7b ariable.alignment&quot;</span>.{
37760 3c 2f 73 70 61 6e 3e 0a 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">....<
37780 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
377a0 3a 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
377c0 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
377e0 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="
37800 6c 69 6e 65 22 3e 20 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
37820 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 20 3c 73 70 61 6e onst</span>.align_of_i32.=.<span
37840 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 73 .class="tok-builtin">@alignOf</s
37860 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 40 pan>(<span.class="tok-builtin">@
37880 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 3c 73 70 61 6e 20 TypeOf</span>(x));</span>.<span.
378a0 63 6c 61 73 73 3d 22 6c 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
378c0 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
378e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e ass="tok-builtin">@TypeOf</span>
37900 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 74 6f 6b 2d 74 79 (&amp;x).==.*<span.class="tok-ty
37920 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">i32</span>);</span>.<span.cl
37940 61 73 73 3d 22 6c 69 6e 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-
37960 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 2a 3c 73 70 61 6e 20 63 6c 61 kw">try</span>.expect(*<span.cla
37980 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 2a 3c 73 70 ss="tok-type">i32</span>.==.*<sp
379a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 61 an.class="tok-kw">align</span>(a
379c0 6c 69 67 6e 5f 6f 66 5f 69 33 32 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 lign_of_i32).<span.class="tok-ty
379e0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">i32</span>);</span>.<span.cl
37a00 61 73 73 3d 22 6c 69 6e 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-
37a20 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 67 65 74 2e 63 70 kw">if</span>.(builtin.target.cp
37a40 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 3e 0a 3c 73 70 61 u.arch.==..x86_64).{</span>.<spa
37a60 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
37a80 73 73 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
37aa0 70 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
37ac0 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 2d 74 79 70 65 22 o</span>(*<span.class="tok-type"
37ae0 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 6d 65 6e 74 20 3d >i32</span>).Pointer.alignment.=
37b00 3d 20 3c 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
37b20 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">
37b40 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">
37b60 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
37b80 69 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
37ba0 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
37bc0 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
37be0 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 3c 2f 6b 62 64 3e est.variable_alignment.zig</kbd>
37c00 3c 2f 73 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
37c20 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 6e 74 26 71 75 6f est.&quot;variable.alignment&quo
37c40 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
37c60 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>.</
37c80 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 49 6e samp></pre></figure>.......<p>In
37ca0 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 3e 3c 73 70 61 6e .the.same.way.that.a.<code><span
37cc0 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 3d 22 74 6f 6b 2d .class="line">*<span.class="tok-
37ce0 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 20 63 type">i32</span></span></code>.c
37d00 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 an.be.<a.href="#Type-Coercion">c
37d20 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 3c 63 6f 64 65 3e oerced</a>.to.a...........<code>
37d40 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 3d <span.class="line">*<span.class=
37d60 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
37d80 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 2f s="tok-type">i32</span></span></
37da0 63 6f 64 65 3e 2c 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 6c 61 72 67 65 72 20 61 code>,.a.pointer.with.a.larger.a
37dc0 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 lignment.can.be.implicitly......
37de0 20 63 61 73 74 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 73 6d 61 6c 6c 65 .cast.to.a.pointer.with.a.smalle
37e00 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 63 65 20 76 65 72 73 61 2e r.alignment,.but.not.vice.versa.
37e20 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 .......</p>.......<p>.......You.
37e40 63 61 6e 20 73 70 65 63 69 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 6e 20 76 61 72 69 61 62 6c can.specify.alignment.on.variabl
37e60 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f 75 20 64 6f 20 74 68 69 73 es.and.functions..If.you.do.this
37e80 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 65 6d 20 67 65 ,.then.......pointers.to.them.ge
37ea0 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 6e 74 3a 0a 20 20 20 20 20 t.the.specified.alignment:......
37ec0 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.
37ee0 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
37f00 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 2e 7a 69 67 3c 2f e">variable_func_alignment.zig</
37f20 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
37f40 61 6e 20 63 6c 61 73 73 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
37f60 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
37f80 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
37fa0 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;
37fc0 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
37fe0 3b 3c 2f 73 70 61 6e 3e 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
38000 61 6e 3e 0a 3c 73 70 61 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
38020 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 ss="tok-kw">var</span>.foo:.<spa
38040 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 3c 73 70 n.class="tok-type">u8</span>.<sp
38060 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>(<
38080 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>
380a0 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 ).=.<span.class="tok-number">100
380c0 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
380e0 65 22 3e 3c 2f 73 70 61 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
38100 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>.<
38120 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6c 6f 62 61 span.class="tok-str">&quot;globa
38140 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 3c 2f 73 70 61 6e l.variable.alignment&quot;</span
38160 3e 20 7b 3c 2f 73 70 61 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">..
38180 20 20 3c 73 70 61 6e 20 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
381a0 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
381c0 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 73 73 3d n">@typeInfo</span>(<span.class=
381e0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d "tok-builtin">@TypeOf</span>(&am
38200 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 3d 3d 20 3c 73 70 p;foo)).Pointer.alignment.==.<sp
38220 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">4</span>);
38240 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
38260 73 70 61 6e 20 63 6c 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
38280 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">
382a0 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 3d 20 2a 3c 73 70 @TypeOf</span>(&amp;foo).==.*<sp
382c0 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>(<
382e0 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>
38300 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 ).<span.class="tok-type">u8</spa
38320 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">.
38340 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
38360 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 2a 5b 3c 73 70 61 pan>.as_pointer_to_array:.*[<spa
38380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 n.class="tok-number">1</span>]<s
383a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d pan.class="tok-type">u8</span>.=
383c0 20 26 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .&amp;foo;</span>.<span.class="l
383e0 69 6e 65 22 3e 20 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
38400 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 nst</span>.as_slice:.[]<span.cla
38420 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 61 73 5f 70 6f 69 ss="tok-type">u8</span>.=.as_poi
38440 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 6e 20 63 6c 61 73 nter_to_array;</span>.<span.clas
38460 73 3d 22 6c 69 6e 65 22 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
38480 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=
384a0 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 73 5f "tok-builtin">@TypeOf</span>(as_
384c0 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 6f 6b 2d 6b 77 22 slice).==.[]<span.class="tok-kw"
384e0 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >align</span>(<span.class="tok-n
38500 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>).<span.class="to
38520 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 0a 3c 73 70 61 6e k-type">u8</span>);</span>.<span
38540 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
38560 73 73 3d 22 6c 69 6e 65 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
38580 69 6e 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
385a0 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 72 70 3c 2f 73 an>.<span.class="tok-fn">derp</s
385c0 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
385e0 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n</span>(<span.class="tok-builti
38600 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@sizeOf</span>(<span.class="t
38620 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 73 70 61 6e 20 63 ok-type">usize</span>).*.<span.c
38640 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 70 61 lass="tok-number">2</span>).<spa
38660 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>.{.
38680 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
386a0 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 34 n>.<span.class="tok-number">1234
386c0 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 61 73 73 3d 22 6c </span>;.}</span>.<span.class="l
386e0 69 6e 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
38700 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6e 6f 6f 70 31 3c 2f an>.<span.class="tok-fn">noop1</
38720 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 span>().<span.class="tok-kw">ali
38740 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 gn</span>(<span.class="tok-numbe
38760 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 r">1</span>).<span.class="tok-ty
38780 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pe">void</span>.{}</span>.<span.
387a0 63 6c 61 73 73 3d 22 6c 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
387c0 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"
387e0 3e 6e 6f 6f 70 34 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >noop4</span>().<span.class="tok
38800 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -kw">align</span>(<span.class="t
38820 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">4</span>).<span.class
38840 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
38860 3e 0a 3c 73 70 61 6e 20 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
38880 61 6e 20 63 6c 61 73 73 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
388a0 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
388c0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 6e 6d 65 6e 74 26 k-str">&quot;function.alignment&
388e0 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
38900 73 3d 22 6c 69 6e 65 22 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
38920 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 65 72 70 28 29 20 3d 3d 20 3c 73 ">try</span>.expect(derp().==.<s
38940 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
38960 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">.
38980 20 20 20 3c 73 70 61 6e 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
389a0 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
389c0 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 31 29 20 3d 3d 20 3c 73 70 in">@TypeOf</span>(noop1).==.<sp
389e0 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 28 29 20 3c 73 an.class="tok-kw">fn</span>().<s
38a00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-kw">align</span>(
38a20 3c 73 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
38a40 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</
38a60 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
38a80 22 3e 20 20 20 20 3c 73 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</
38aa0 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
38ac0 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 34 29 20 3d 3d 20 iltin">@TypeOf</span>(noop4).==.
38ae0 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 28 29 <span.class="tok-kw">fn</span>()
38b00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 .<span.class="tok-kw">align</spa
38b20 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
38b40 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 pan>).<span.class="tok-type">voi
38b60 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>);</span>.<span.class="l
38b80 69 6e 65 22 3e 20 20 20 20 6e 6f 6f 70 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ine">....noop1();</span>.<span.c
38ba0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6f 70 34 28 29 3b 3c 2f 73 70 61 6e 3e 0a lass="line">....noop4();</span>.
38bc0 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
38be0 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
38c00 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
38c20 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=
38c40 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 69 61 62 6c 65 5f "line">$.<kbd>zig.test.variable_
38c60 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 73 70 61 6e 3e 0a func_alignment.zig</kbd></span>.
38c80 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
38ca0 74 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 t;global.variable.alignment&quot
38cc0 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
38ce0 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 61 6c 69 67 6e 6d ">2/2.test.&quot;function.alignm
38d00 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 61 6e 20 63 6c 61 ent&quot;....OK</span>.<span.cla
38d20 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 2f 73 ss="line">All.2.tests.passed.</s
38d40 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>.....
38d60 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 70 6f 69 6e 74 65 ..<p>.......If.you.have.a.pointe
38d80 72 20 6f 72 20 61 20 73 6c 69 63 65 20 74 68 61 74 20 68 61 73 20 61 20 73 6d 61 6c 6c 20 61 6c r.or.a.slice.that.has.a.small.al
38da0 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 20 69 74 20 61 63 ignment,.but.you.know.that.it.ac
38dc0 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 68 61 73 20 61 20 62 69 67 67 65 72 20 61 6c 69 67 6e 6d tually.......has.a.bigger.alignm
38de0 65 6e 74 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 ent,.use.<a.href="#alignCast">@a
38e00 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 0a 20 20 20 20 20 lignCast</a>.to.change.the......
38e20 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 6d 6f 72 65 20 61 6c 69 67 6e 65 64 20 70 6f 69 .pointer.into.a.more.aligned.poi
38e40 6e 74 65 72 2e 20 54 68 69 73 20 69 73 20 61 20 6e 6f 2d 6f 70 20 61 74 20 72 75 6e 74 69 6d 65 nter..This.is.a.no-op.at.runtime
38e60 2c 20 62 75 74 20 69 6e 73 65 72 74 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 ,.but.inserts.a.......<a.href="#
38e80 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 73 61 66 Incorrect-Pointer-Alignment">saf
38ea0 65 74 79 20 63 68 65 63 6b 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ety.check</a>:.......</p>.......
38ec0 3c 66 69 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
38ee0 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 3c ap"><cite.class="file">test.zig<
38f00 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
38f20 70 61 6e 20 63 6c 61 73 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
38f40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
38f60 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
38f80 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
38fa0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
38fc0 61 73 73 3d 22 6c 69 6e 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="
38fe0 6c 69 6e 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<
39000 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
39020 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 26 71 75 6f 74 ot;pointer.alignment.safety&quot
39040 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
39060 69 6e 65 22 3e 20 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
39080 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r</span>.array.<span.class="tok-
390a0 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
390c0 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 k-number">4</span>).=.[_]<span.c
390e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 lass="tok-type">u32</span>{.<spa
39100 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c n.class="tok-number">0x11111111<
39120 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"
39140 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >0x11111111</span>.};</span>.<sp
39160 61 6e 20 63 6c 61 73 73 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=
39180 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 73 74 "tok-kw">const</span>.bytes.=.st
391a0 64 2e 6d 65 6d 2e 73 6c 69 63 65 41 73 42 79 74 65 73 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 d.mem.sliceAsBytes(array[<span.c
391c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 3c lass="tok-number">0</span>..]);<
391e0 2f 73 70 61 6e 3e 0a 3c 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
39200 70 61 6e 20 63 6c 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
39220 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 3c d.testing.expect(foo(bytes).==.<
39240 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 span.class="tok-number">0x111111
39260 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 11</span>);</span>.<span.class="
39280 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
392a0 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>
392c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e .<span.class="tok-fn">foo</span>
392e0 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 (bytes:.[]<span.class="tok-type"
39300 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 79 70 >u8</span>).<span.class="tok-typ
39320 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">u32</span>.{</span>.<span.cla
39340 73 73 3d 22 6c 69 6e 65 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
39360 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 73 5b 3c w">const</span>.slice4.=.bytes[<
39380 73 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>
393a0 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 ..<span.class="tok-number">5</sp
393c0 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">
393e0 20 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</
39400 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 span>.int_slice.=.std.mem.bytesA
39420 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
39440 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
39460 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
39480 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)
394a0 29 3b 3c 2f 73 70 61 6e 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">...
394c0 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
394e0 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
39500 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
39520 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
39540 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
39560 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
39580 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">
395a0 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 2f $.<kbd>zig.test.test.zig</kbd></
395c0 73 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
395e0 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 73 61 66 65 74 79 t.&quot;pointer.alignment.safety
39600 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 37 39 32 32 34 36 20 70 61 6e 69 63 3a 20 69 &quot;....thread.792246.panic:.i
39620 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 0a 3c 73 70 61 6e 20 ncorrect.alignment</span>.<span.
39640 63 6c 61 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">
39660 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f /home/andy/Downloads/zig/docgen_
39680 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 6e tmp/test.zig:10:63</span>:.<span
396a0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 30 65 63 20 69 6e 20 66 6f 6f 20 28 74 .class="t2_0">0x2080ec.in.foo.(t
396c0 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="
396e0 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 2e line">....const.int_slice.=.std.
39700 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 74 mem.bytesAsSlice(u32,.@alignCast
39720 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 73 (4,.slice4));</span>.<span.class
39740 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">........................
39760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39780 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
397a0 6e 3e 3c 2f 73 70 61 6e 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
397c0 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
397e0 6f 61 64 73 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 3a 33 oads/zig/docgen_tmp/test.zig:6:3
39800 31 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 1</span>:.<span.class="t2_0">0x2
39820 30 37 61 36 39 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 07a69.in.test.&quot;pointer.alig
39840 6e 6d 65 6e 74 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 nment.safety&quot;.(test)</span>
39860 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 </span>.<span.class="line">....t
39880 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f 28 62 79 74 65 73 29 ry.std.testing.expect(foo(bytes)
398a0 20 3d 3d 20 30 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 .==.0x11111111);</span>.<span.cl
398c0 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">.....................
398e0 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">^</
39900 73 70 61 6e 3e 3c 2f 73 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">
39920 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 44 6f <span.class="t1_0">/home/andy/Do
39940 77 6e 6c 6f 61 64 73 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 wnloads/zig/lib/std/special/test
39960 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.
39980 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 36 64 33 20 69 6e 20 73 74 64 2e 73 70 65 class="t2_0">0x22f6d3.in.std.spe
399a0 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>.<
399c0 73 70 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
399e0 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
39a00 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">.....................
39a20 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
39a40 6e 3e 3c 2f 73 70 61 6e 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
39a60 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
39a80 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 oads/zig/lib/std/start.zig:543:2
39aa0 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
39ac0 32 38 30 63 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 280cc.in.std.start.callMain.(tes
39ae0 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
39b00 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
39b20 61 6e 3e 0a 3c 73 70 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">.........
39b40 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">
39b60 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
39b80 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
39ba0 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
39bc0 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 5f :495:12</span>:.<span.class="t2_
39be0 30 22 3e 30 78 32 30 39 35 33 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 0">0x20953e.in.std.start.callMai
39c00 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 3c nWithArgs.(test)</span></span>.<
39c20 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 61 span.class="line">....return.@ca
39c40 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 65 ll(.{..modifier.=..always_inline
39c60 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 6e .},.callMain,..{});</span>.<span
39c80 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 63 .class="line">...........<span.c
39ca0 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
39cc0 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
39ce0 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
39d00 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
39d20 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 35 34 36 20 69 6e 20 73 74 64 2e an.class="t2_0">0x208546.in.std.
39d40 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
39d60 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
39d80 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
39da0 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
39dc0 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.
39de0 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">.
39e00 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_
39e20 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="
39e40 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
39e60 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e ndy/Downloads/zig/lib/std/start.
39e80 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 74 zig:322:5</span>:.<span.class="t
39ea0 32 5f 30 22 3e 30 78 32 30 38 33 35 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 2_0">0x208352.in.std.start._star
39ec0 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
39ee0 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 72 ss="line">....@call(.{..modifier
39f00 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 69 .=..never_inline.},.posixCallMai
39f20 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 61 nAndExit,..{});</span>.<span.cla
39f40 73 73 3d 22 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 ss="line">....<span.class="t32_1
39f60 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
39f80 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 63 ine">error:.the.following.test.c
39fa0 6f 6d 6d 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 ommand.crashed:</span>.<span.cla
39fc0 73 73 3d 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 ss="line">docgen_tmp/zig-cache/o
39fe0 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 33 36 30 61 35 35 31 62 33 63 30 35 /8e4964e05ddaf866e77360a551b3c05
3a000 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f b/test./home/andy/Downloads/zig/
3a020 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 70 3e build-release/zig</span>.</samp>
3a040 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 </pre></figure>...............<h
3a060 33 20 69 64 3d 22 61 6c 6c 6f 77 7a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 3.id="allowzero"><a.href="nav.xh
3a080 74 6d 6c 23 74 6f 63 2d 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e tml#toc-allowzero">allowzero</a>
3a0a0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f .<a.class="hdr".href="#allowzero
3a0c0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ">..</a></h3>........<p>.......T
3a0e0 68 69 73 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 20 61 6c 6c 6f 77 73 20 61 20 70 his.pointer.attribute.allows.a.p
3a100 6f 69 6e 74 65 72 20 74 6f 20 68 61 76 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f 2e 20 54 68 69 ointer.to.have.address.zero..Thi
3a120 73 20 69 73 20 6f 6e 6c 79 20 65 76 65 72 20 6e 65 65 64 65 64 20 6f 6e 20 74 68 65 0a 20 20 20 s.is.only.ever.needed.on.the....
3a140 20 20 20 66 72 65 65 73 74 61 6e 64 69 6e 67 20 4f 53 20 74 61 72 67 65 74 2c 20 77 68 65 72 65 ...freestanding.OS.target,.where
3a160 20 74 68 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f 20 69 73 20 6d 61 70 70 61 62 6c 65 2e 20 49 .the.address.zero.is.mappable..I
3a180 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 6e 75 6c 6c 20 70 6f 69 f.you.want.to.represent.null.poi
3a1a0 6e 74 65 72 73 2c 20 75 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f nters,.use.......<a.href="#Optio
3a1c0 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<
3a1e0 2f 61 3e 20 69 6e 73 74 65 61 64 2e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d /a>.instead..<a.href="#Optional-
3a200 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 Pointers">Optional.Pointers</a>.
3a220 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
3a240 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
3a260 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 an></span></code>.......are.not.
3a280 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 70 6f 69 6e 74 65 72 73 2e 20 49 6e 20 74 68 the.same.size.as.pointers..In.th
3a2a0 69 73 20 63 6f 64 65 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 70 6f 69 6e 74 65 72 0a is.code.example,.if.the.pointer.
3a2c0 20 20 20 20 20 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 ......did.not.have.the.<code><sp
3a2e0 61 6e 20 63 6c 61 73 73 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
3a300 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f -kw">allowzero</span></span></co
3a320 64 65 3e 20 61 74 74 72 69 62 75 74 65 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 61 0a 20 de>.attribute,.this.would.be.a..
3a340 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 .....<a.href="#Pointer-Cast-Inva
3a360 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e lid-Null">Pointer.Cast.Invalid.N
3a380 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ull</a>.panic:.......</p>.......
3a3a0 3c 66 69 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
3a3c0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 6c 6c 6f 77 7a 65 72 6f ap"><cite.class="file">allowzero
3a3e0 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
3a400 64 65 3e 3c 73 70 61 6e 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
3a420 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
3a440 70 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<
3a460 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
3a480 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
3a4a0 61 6e 20 63 6c 61 73 73 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
3a4c0 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
3a4e0 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
3a500 73 3d 22 6c 69 6e 65 22 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
3a520 6e 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
3a540 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
3a560 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ;allowzero&quot;</span>.{</span>
3a580 0a 3c 73 70 61 6e 20 63 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
3a5a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 7a 65 72 6f 3a 20 3c 73 ass="tok-kw">var</span>.zero:.<s
3a5c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e pan.class="tok-type">usize</span
3a5e0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f >.=.<span.class="tok-number">0</
3a600 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"
3a620 3e 20 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
3a640 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.ptr.=.<span.class="tok-buil
3a660 74 69 6e 22 3e 40 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 tin">@intToPtr</span>(*<span.cla
3a680 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 20 3c 73 70 ss="tok-kw">allowzero</span>.<sp
3a6a0 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>,.
3a6c0 7a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 zero);</span>.<span.class="line"
3a6e0 3e 20 20 20 20 3c 73 70 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
3a700 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
3a720 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 20 3d 3d 20 3c ltin">@ptrToInt</span>(ptr).==.<
3a740 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>
3a760 29 3b 3c 2f 73 70 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">}</
3a780 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
3a7a0 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"
3a7c0 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
3a7e0 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
3a800 20 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .allowzero.zig</kbd></span>.<spa
3a820 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 6c n.class="line">1/1.test.&quot;al
3a840 6c 6f 77 7a 65 72 6f 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 lowzero&quot;....OK</span>.<span
3a860 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
3a880 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>.
3a8a0 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 2d 54 ..............<h3.id="Sentinel-T
3a8c0 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 erminated-Pointers"><a.href="nav
3a8e0 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 .xhtml#toc-Sentinel-Terminated-P
3a900 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 ointers">Sentinel-Terminated.Poi
3a920 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="#
3a940 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 Sentinel-Terminated-Pointers">..
3a960 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 </a></h3>........<p>.......The.s
3a980 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b yntax.<code><span.class="line">[
3a9a0 2a 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 73 63 72 69 62 65 73 20 61 20 *:x]T</span></code>.describes.a.
3a9c0 70 6f 69 6e 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 68 61 73 20 61 20 6c 65 6e 67 74 68 20 pointer.that.......has.a.length.
3a9e0 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 determined.by.a.sentinel.value..
3aa00 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 70 72 6f 74 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 61 This.provides.protection.......a
3aa20 67 61 69 6e 73 74 20 62 75 66 66 65 72 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 6f 76 65 72 72 gainst.buffer.overflow.and.overr
3aa40 65 61 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c eads........</p>.......<figure><
3aa60 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
3aa80 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
3aaa0 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
3aac0 3d 22 6c 69 6e 65 22 3e 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
3aae0 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
3ab00 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
3ab20 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;</
3ab40 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
3ab60 22 3e 3c 2f 73 70 61 6e 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
3ab80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 an.class="tok-comment">//.This.i
3aba0 73 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 60 73 74 64 2e 63 2e 70 72 69 6e 74 s.also.available.as.`std.c.print
3abc0 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 73 73 3d 22 6c f`.</span></span>.<span.class="l
3abe0 69 6e 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
3ac00 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e pan>.<span.class="tok-kw">extern
3ac20 3c 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
3ac40 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uot;c&quot;</span>.<span.class="
3ac60 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
3ac80 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 3a 20 5b 2a 3a ok-fn">printf</span>(format:.[*:
3aca0 3c 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
3acc0 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
3ace0 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
3ad00 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 2d 74 79 70 65 pan>,....).<span.class="tok-type
3ad20 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 6e 20 63 6c 61 ">c_int</span>;</span>.<span.cla
3ad40 73 73 3d 22 6c 69 6e 65 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
3ad60 69 6e 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
3ad80 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
3ada0 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
3adc0 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
3ade0 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 yerror</span>!<span.class="tok-t
3ae00 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.
3ae20 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 28 3c 73 70 61 class="line">...._.=.printf(<spa
3ae40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 n.class="tok-str">&quot;Hello,.w
3ae60 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 6e 20 63 6c 61 orld!\n&quot;</span>);.<span.cla
3ae80 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 6e 3e 3c 2f 73 ss="tok-comment">//.OK</span></s
3aea0 70 61 6e 3e 0a 3c 73 70 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>.
3aec0 3c 73 70 61 6e 20 63 6c 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
3aee0 73 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 67 20 3d 20 3c ss="tok-kw">const</span>.msg.=.<
3af00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f span.class="tok-str">&quot;Hello
3af20 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 70 61 6e 3e 0a ,.world!\n&quot;</span>;</span>.
3af40 3c 73 70 61 6e 20 63 6c 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
3af60 73 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 6e 5f 6e 75 6c ss="tok-kw">const</span>.non_nul
3af80 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 3c 73 70 61 6e l_terminated_msg:.[msg.len]<span
3afa0 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 6d 73 .class="tok-type">u8</span>.=.ms
3afc0 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 6e 65 22 3e 20 g.*;</span>.<span.class="line">.
3afe0 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 5f 74 65 72 6d ..._.=.printf(&amp;non_null_term
3b000 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 6c 61 73 73 3d inated_msg);</span>.<span.class=
3b020 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
3b040 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="
3b060 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
3b080 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
3b0a0 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 63 3c 2f 6b 62 d>zig.build-exe.test.zig.-lc</kb
3b0c0 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 70 d></span>.<span.class="line"><sp
3b0e0 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
3b100 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 6c 61 73 73 3d t.zig:11:17:.</span><span.class=
3b120 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
3b140 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 30 5d 63 6f 6e s="t0_1">expected.type.'[*:0]con
3b160 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 38 27 3c 2f 73 st.u8',.found.'*const.[14]u8'</s
3b180 70 61 6e 3e 3c 2f 73 70 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">.
3b1a0 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 5f 74 65 72 6d ..._.=.printf(&amp;non_null_term
3b1c0 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 6c 61 73 73 3d inated_msg);</span>.<span.class=
3b1e0 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
3b200 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
3b220 20 63 6c 61 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"
3b240 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 37 3a 20 3c 2f >./docgen_tmp/test.zig:11:17:.</
3b260 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 3c span><span.class="t36_1">note:.<
3b280 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 73 74 69 6e 61 /span><span.class="t0_1">destina
3b2a0 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 6d 69 6e 61 74 tion.pointer.requires.a.terminat
3b2c0 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 61 6e 3e 0a 3c ing.'0'.sentinel</span></span>.<
3b2e0 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
3b300 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 3c (&amp;non_null_terminated_msg);<
3b320 2f 73 70 61 6e 3e 0a 3c 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">......
3b340 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">^<
3b360 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
3b380 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>.
3b3a0 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
3b3c0 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c d-Slices">Sentinel-Terminated.Sl
3b3e0 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 ices</a></li>.<li><a.href="#Sent
3b400 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c inel-Terminated-Arrays">Sentinel
3b420 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c -Terminated.Arrays</a></li>.</ul
3b440 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 >.......................<h2.id="
3b460 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 Slices"><a.href="nav.xhtml#toc-S
3b480 6c 69 63 65 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 lices">Slices</a>.<a.class="hdr"
3b4a0 20 68 72 65 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 .href="#Slices">..</a></h2>.....
3b4c0 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
3b4e0 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
3b500 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
3b520 3e 3c 73 70 61 6e 20 63 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=
3b540 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.=.<
3b560 73 70 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
3b580 3c 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
3b5a0 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
3b5c0 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">
3b5e0 3c 2f 73 70 61 6e 3e 0a 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
3b600 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
3b620 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 69 63 20 73 6c n.class="tok-str">&quot;basic.sl
3b640 69 63 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ices&quot;</span>.{</span>.<span
3b660 20 63 6c 61 73 73 3d 22 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
3b680 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 ok-kw">var</span>.array.=.[_]<sp
3b6a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 an.class="tok-type">i32</span>{.
3b6c0 3c 73 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
3b6e0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 >,.<span.class="tok-number">2</s
3b700 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 pan>,.<span.class="tok-number">3
3b720 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
3b740 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">4</span>.};</span>.<span.class
3b760 3d 22 6c 69 6e 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
3b780 6d 65 6e 74 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 ment">//.A.slice.is.a.pointer.an
3b7a0 64 20 61 20 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 d.a.length..The.difference.betwe
3b7c0 65 6e 20 61 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 en.an.array.and</span></span>.<s
3b7e0 70 61 6e 20 63 6c 61 73 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
3b800 3d 22 74 6f 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 ="tok-comment">//.a.slice.is.tha
3b820 74 20 74 68 65 20 61 72 72 61 79 27 73 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 t.the.array's.length.is.part.of.
3b840 74 68 65 20 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 the.type.and.known.at</span></sp
3b860 61 6e 3e 0a 3c 73 70 61 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
3b880 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 69 6c 65 2d .class="tok-comment">//.compile-
3b8a0 74 69 6d 65 2c 20 77 68 65 72 65 61 73 20 74 68 65 20 73 6c 69 63 65 27 73 20 6c 65 6e 67 74 68 time,.whereas.the.slice's.length
3b8c0 20 69 73 20 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 .is.known.at.runtime.</span></sp
3b8e0 61 6e 3e 0a 3c 73 70 61 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
3b900 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 6f 74 68 20 63 61 6e .class="tok-comment">//.Both.can
3b920 20 62 65 20 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 .be.accessed.with.the.`len`.fiel
3b940 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
3b960 6e 65 22 3e 20 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
3b980 3c 2f 73 70 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 </span>.known_at_runtime_zero:.<
3b9a0 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
3b9c0 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<
3b9e0 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
3ba00 22 3e 20 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
3ba20 3c 2f 73 70 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 </span>.slice.=.array[known_at_r
3ba40 75 6e 74 69 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 untime_zero..array.len];</span>.
3ba60 3c 73 70 61 6e 20 63 6c 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
3ba80 73 73 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 26 61 ss="tok-kw">try</span>.expect(&a
3baa0 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 mp;slice[<span.class="tok-number
3bac0 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 ">0</span>].==.&amp;array[<span.
3bae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f class="tok-number">0</span>]);</
3bb00 73 70 61 6e 3e 0a 3c 73 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
3bb20 61 6e 20 63 6c 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
3bb40 65 63 74 28 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 ect(slice.len.==.array.len);</sp
3bb60 61 6e 3e 0a 3c 73 70 61 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>.<
3bb80 73 70 61 6e 20 63 6c 61 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
3bba0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 69 6e 67 20 74 68 65 20 61 64 64 s="tok-comment">//.Using.the.add
3bbc0 72 65 73 73 2d 6f 66 20 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 73 6c 69 63 65 20 67 69 76 65 ress-of.operator.on.a.slice.give
3bbe0 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2c 3c 2f 73 70 61 6e 3e 3c s.a.single-item.pointer,</span><
3bc00 2f 73 70 61 6e 3e 0a 3c 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
3bc20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 68 69 6c 65 pan.class="tok-comment">//.while
3bc40 20 75 73 69 6e 67 20 74 68 65 20 60 70 74 72 60 20 66 69 65 6c 64 20 67 69 76 65 73 20 61 20 6d .using.the.`ptr`.field.gives.a.m
3bc60 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a any-item.pointer.</span></span>.
3bc80 3c 73 70 61 6e 20 63 6c 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
3bca0 73 73 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
3bcc0 70 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<
3bce0 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c /span>(slice.ptr).==.[*]<span.cl
3bd00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-type">i32</span>);</spa
3bd20 6e 3e 0a 3c 73 70 61 6e 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.
3bd40 63 6c 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
3bd60 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
3bd80 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 Of</span>(&amp;slice[<span.class
3bda0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 20 3d 3d 20 2a 3c 73 70 ="tok-number">0</span>]).==.*<sp
3bdc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-type">i32</span>);
3bde0 3c 2f 73 70 61 6e 3e 0a 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">....<
3be00 73 70 61 6e 20 63 6c 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
3be20 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">
3be40 40 70 74 72 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 @ptrToInt</span>(slice.ptr).==.<
3be60 73 70 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 span.class="tok-builtin">@ptrToI
3be80 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 nt</span>(&amp;slice[<span.class
3bea0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 29 3b 3c 2f 73 70 61 6e ="tok-number">0</span>]));</span
3bec0 3e 0a 3c 73 70 61 6e 20 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
3bee0 61 6e 20 63 6c 61 73 73 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=
3bf00 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6c 69 63 65 73 20 68 61 76 65 20 61 72 72 "tok-comment">//.Slices.have.arr
3bf20 61 79 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 2e 20 49 66 20 79 6f 75 20 74 72 79 20 74 ay.bounds.checking..If.you.try.t
3bf40 6f 20 61 63 63 65 73 73 20 73 6f 6d 65 74 68 69 6e 67 20 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 o.access.something.out</span></s
3bf60 70 61 6e 3e 0a 3c 73 70 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
3bf80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 75 6e n.class="tok-comment">//.of.boun
3bfa0 64 73 2c 20 79 6f 75 27 6c 6c 20 67 65 74 20 61 20 73 61 66 65 74 79 20 63 68 65 63 6b 20 66 61 ds,.you'll.get.a.safety.check.fa
3bfc0 69 6c 75 72 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ilure:</span></span>.<span.class
3bfe0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ="line">....slice[<span.class="t
3c000 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 ok-number">10</span>].+=.<span.c
3c020 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
3c040 6e 3e 0a 3c 73 70 61 6e 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
3c060 70 61 6e 20 63 6c 61 73 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
3c080 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 60 73 6c 69 ="tok-comment">//.Note.that.`sli
3c0a0 63 65 2e 70 74 72 60 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 6f 6b 65 20 73 61 66 65 74 79 20 63 ce.ptr`.does.not.invoke.safety.c
3c0c0 68 65 63 6b 69 6e 67 2c 20 77 68 69 6c 65 20 60 26 61 6d 70 3b 73 6c 69 63 65 5b 30 5d 60 3c 2f hecking,.while.`&amp;slice[0]`</
3c0e0 73 70 61 6e 3e 3c 2f 73 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">
3c100 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">//
3c120 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 73 6c 69 63 65 20 68 61 73 20 6c 65 6e 20 .asserts.that.the.slice.has.len.
3c140 26 67 74 3b 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 &gt;=.1.</span></span>.<span.cla
3c160 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><
3c180 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
3c1a0 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>
3c1c0 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">$.
3c1e0 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 70 <kbd>zig.test.test.zig</kbd></sp
3c200 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.
3c220 26 71 75 6f 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 &quot;basic.slices&quot;....thre
3c240 61 64 20 37 39 32 33 34 32 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 62 6f ad.792342.panic:.index.out.of.bo
3c260 75 6e 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 65 22 3e 3c unds</span>.<span.class="line"><
3c280 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 44 6f 77 span.class="t1_0">/home/andy/Dow
3c2a0 6e 6c 6f 61 64 73 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 32 nloads/zig/docgen_tmp/test.zig:2
3c2c0 32 3a 31 30 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:10</span>:.<span.class="t2_0">
3c2e0 30 78 32 30 37 63 38 33 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 0x207c83.in.test.&quot;basic.sli
3c300 63 65 73 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 ces&quot;.(test)</span></span>.<
3c320 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 31 30 5d 20 span.class="line">....slice[10].
3c340 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e +=.1;</span>.<span.class="line">
3c360 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">^</
3c380 73 70 61 6e 3e 3c 2f 73 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">
3c3a0 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 44 6f <span.class="t1_0">/home/andy/Do
3c3c0 77 6e 6c 6f 61 64 73 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 wnloads/zig/lib/std/special/test
3c3e0 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.
3c400 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 36 64 33 20 69 6e 20 73 74 64 2e 73 70 65 class="t2_0">0x22f6d3.in.std.spe
3c420 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>.<
3c440 73 70 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
3c460 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
3c480 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">.....................
3c4a0 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
3c4c0 6e 3e 3c 2f 73 70 61 6e 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
3c4e0 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
3c500 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 oads/zig/lib/std/start.zig:543:2
3c520 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
3c540 32 38 30 63 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 280cc.in.std.start.callMain.(tes
3c560 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
3c580 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
3c5a0 61 6e 3e 0a 3c 73 70 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">.........
3c5c0 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">
3c5e0 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
3c600 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
3c620 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
3c640 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 5f :495:12</span>:.<span.class="t2_
3c660 30 22 3e 30 78 32 30 39 35 33 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 0">0x20953e.in.std.start.callMai
3c680 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 3c nWithArgs.(test)</span></span>.<
3c6a0 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 61 span.class="line">....return.@ca
3c6c0 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 65 ll(.{..modifier.=..always_inline
3c6e0 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 6e .},.callMain,..{});</span>.<span
3c700 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 63 .class="line">...........<span.c
3c720 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
3c740 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
3c760 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
3c780 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
3c7a0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 35 64 36 20 69 6e 20 73 74 64 2e an.class="t2_0">0x2085d6.in.std.
3c7c0 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
3c7e0 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
3c800 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
3c820 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
3c840 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.
3c860 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">.
3c880 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_
3c8a0 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="
3c8c0 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
3c8e0 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e ndy/Downloads/zig/lib/std/start.
3c900 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 74 zig:322:5</span>:.<span.class="t
3c920 32 5f 30 22 3e 30 78 32 30 38 33 65 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 2_0">0x2083e2.in.std.start._star
3c940 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
3c960 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 72 ss="line">....@call(.{..modifier
3c980 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 69 .=..never_inline.},.posixCallMai
3c9a0 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 61 nAndExit,..{});</span>.<span.cla
3c9c0 73 73 3d 22 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 ss="line">....<span.class="t32_1
3c9e0 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
3ca00 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 63 ine">error:.the.following.test.c
3ca20 6f 6d 6d 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 ommand.crashed:</span>.<span.cla
3ca40 73 73 3d 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 ss="line">docgen_tmp/zig-cache/o
3ca60 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 33 36 30 61 35 35 31 62 33 63 30 35 /8e4964e05ddaf866e77360a551b3c05
3ca80 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f b/test./home/andy/Downloads/zig/
3caa0 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 70 3e build-release/zig</span>.</samp>
3cac0 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 69 73 20 69 73 </pre></figure>.......<p>This.is
3cae0 20 6f 6e 65 20 72 65 61 73 6f 6e 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 .one.reason.we.prefer.slices.to.
3cb00 70 6f 69 6e 74 65 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 pointers.</p>.......<figure><fig
3cb20 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
3cb40 61 73 73 3d 22 66 69 6c 65 22 3e 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ass="file">slices.zig</cite></fi
3cb60 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=
3cb80 22 6c 69 6e 65 22 3e 3c 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
3cba0 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-
3cbc0 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
3cbe0 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
3cc00 70 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"
3cc20 3e 3c 73 70 61 6e 20 63 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
3cc40 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;<
3cc60 2f 73 70 61 6e 3e 0a 3c 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.
3cc80 63 6c 61 73 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 class="tok-kw">const</span>.mem.
3cca0 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 6c =.std.mem;</span>.<span.class="l
3ccc0 69 6e 65 22 3e 3c 73 70 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<
3cce0 2f 73 70 61 6e 3e 20 66 6d 74 20 3d 20 73 74 64 2e 66 6d 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /span>.fmt.=.std.fmt;</span>.<sp
3cd00 61 6e 20 63 6c 61 73 73 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
3cd20 61 73 73 3d 22 6c 69 6e 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">
3cd40 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
3cd60 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 ">&quot;using.slices.for.strings
3cd80 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
3cda0 73 73 3d 22 6c 69 6e 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
3cdc0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 68 61 73 20 6e 6f 20 63 6f 6e 63 65 70 74 20 6f 66 omment">//.Zig.has.no.concept.of
3cde0 20 73 74 72 69 6e 67 73 2e 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f .strings..String.literals.are.co
3ce00 6e 73 74 20 70 6f 69 6e 74 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nst.pointers</span></span>.<span
3ce20 20 63 6c 61 73 73 3d 22 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
3ce40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 ok-comment">//.to.null-terminate
3ce60 64 20 61 72 72 61 79 73 20 6f 66 20 75 38 2c 20 61 6e 64 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f d.arrays.of.u8,.and.by.conventio
3ce80 6e 20 70 61 72 61 6d 65 74 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n.parameters</span></span>.<span
3cea0 20 63 6c 61 73 73 3d 22 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
3cec0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 61 74 20 61 72 65 20 26 71 75 6f 74 3b 73 74 ok-comment">//.that.are.&quot;st
3cee0 72 69 6e 67 73 26 71 75 6f 74 3b 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 55 rings&quot;.are.expected.to.be.U
3cf00 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 73 6c 69 63 65 73 20 6f 66 20 75 38 2e 3c 2f 73 70 61 6e TF-8.encoded.slices.of.u8.</span
3cf20 3e 3c 2f 73 70 61 6e 3e 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">....
3cf40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 <span.class="tok-comment">//.Her
3cf60 65 20 77 65 20 63 6f 65 72 63 65 20 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 20 61 6e 64 20 2a e.we.coerce.*const.[5:0]u8.and.*
3cf80 63 6f 6e 73 74 20 5b 36 3a 30 5d 75 38 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 const.[6:0]u8.to.[]const.u8</spa
3cfa0 6e 3e 3c 2f 73 70 61 6e 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">...
3cfc0 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
3cfe0 6e 3e 20 68 65 6c 6c 6f 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>.hello:.[]<span.class="tok-kw"
3d000 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
3d020 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
3d040 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>;
3d060 3c 2f 73 70 61 6e 3e 0a 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">....<
3d080 73 70 61 6e 20 63 6c 61 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>
3d0a0 20 77 6f 72 6c 64 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 .world:.[]<span.class="tok-kw">c
3d0c0 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
3d0e0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u8</span>.=.<span.class="tok-
3d100 73 74 72 22 3e 26 71 75 6f 74 3b e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c str">&quot;......&quot;</span>;<
3d120 2f 73 70 61 6e 3e 0a 3c 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
3d140 3e 0a 3c 73 70 61 6e 20 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
3d160 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 6c 6c 5f 74 6f 67 lass="tok-kw">var</span>.all_tog
3d180 65 74 68 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ether:.[<span.class="tok-number"
3d1a0 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >100</span>]<span.class="tok-typ
3d1c0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u8</span>.=.<span.class="tok-
3d1e0 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>.<
3d200 73 70 61 6e 20 63 6c 61 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
3d220 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 s="tok-comment">//.You.can.use.s
3d240 6c 69 63 65 20 73 79 6e 74 61 78 20 6f 6e 20 61 6e 20 61 72 72 61 79 20 74 6f 20 63 6f 6e 76 65 lice.syntax.on.an.array.to.conve
3d260 72 74 20 61 6e 20 61 72 72 61 79 20 69 6e 74 6f 20 61 20 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e rt.an.array.into.a.slice.</span>
3d280 3c 2f 73 70 61 6e 3e 0a 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">....<
3d2a0 73 70 61 6e 20 63 6c 61 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>
3d2c0 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c 69 63 65 20 3d 20 61 6c 6c 5f 74 6f 67 65 74 68 .all_together_slice.=.all_togeth
3d2e0 65 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 er[<span.class="tok-number">0</s
3d300 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e pan>..];</span>.<span.class="lin
3d320 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"
3d340 3e 2f 2f 20 53 74 72 69 6e 67 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 >//.String.concatenation.example
3d360 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
3d380 65 22 3e 20 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
3d3a0 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 t</span>.hello_world.=.<span.cla
3d3c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6d 74 2e 62 75 66 50 72 ss="tok-kw">try</span>.fmt.bufPr
3d3e0 69 6e 74 28 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c 69 63 65 2c 20 3c 73 70 61 6e 20 63 6c int(all_together_slice,.<span.cl
3d400 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 73 7d 20 7b 73 7d 26 71 75 6f 74 ass="tok-str">&quot;{s}.{s}&quot
3d420 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 20 7d 29 3b 3c 2f 73 ;</span>,..{.hello,.world.});</s
3d440 70 61 6e 3e 0a 3c 73 70 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>.
3d460 3c 73 70 61 6e 20 63 6c 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
3d480 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 ss="tok-comment">//.Generally,.y
3d4a0 6f 75 20 63 61 6e 20 75 73 65 20 55 54 46 2d 38 20 61 6e 64 20 6e 6f 74 20 77 6f 72 72 79 20 61 ou.can.use.UTF-8.and.not.worry.a
3d4c0 62 6f 75 74 20 77 68 65 74 68 65 72 20 73 6f 6d 65 74 68 69 6e 67 20 69 73 20 61 3c 2f 73 70 61 bout.whether.something.is.a</spa
3d4e0 6e 3e 3c 2f 73 70 61 6e 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">...
3d500 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 .<span.class="tok-comment">//.st
3d520 72 69 6e 67 2e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 64 65 61 6c 20 ring..If.you.don't.need.to.deal.
3d540 77 69 74 68 20 69 6e 64 69 76 69 64 75 61 6c 20 63 68 61 72 61 63 74 65 72 73 2c 20 6e 6f 20 6e with.individual.characters,.no.n
3d560 65 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 6c eed</span></span>.<span.class="l
3d580 69 6e 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
3d5a0 74 22 3e 2f 2f 20 74 6f 20 64 65 63 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c t">//.to.decode.</span></span>.<
3d5c0 73 70 61 6e 20 63 6c 61 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
3d5e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d s="tok-kw">try</span>.expect(mem
3d600 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f .eql(<span.class="tok-type">u8</
3d620 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 73 3d span>,.hello_world,.<span.class=
3d640 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 e4 b8 96 e7 95 8c 26 71 75 6f "tok-str">&quot;hello.......&quo
3d660 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=
3d680 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
3d6a0 65 22 3e 3c 2f 73 70 61 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
3d6c0 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>.<
3d6e0 73 70 61 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 6c 69 63 65 span.class="tok-str">&quot;slice
3d700 20 70 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 .pointer&quot;</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 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 s="tok-kw">var</span>.array:.[<s
3d760 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>
3d780 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
3d7a0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 >.=.<span.class="tok-null">undef
3d7c0 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 73 3d ined</span>;</span>.<span.class=
3d7e0 22 6c 69 6e 65 22 3e 20 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">
3d800 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 3c 2f const</span>.ptr.=.&amp;array;</
3d820 73 70 61 6e 3e 0a 3c 73 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>
3d840 0a 3c 73 70 61 6e 20 63 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
3d860 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 6e 20 75 73 65 ass="tok-comment">//.You.can.use
3d880 20 73 6c 69 63 69 6e 67 20 73 79 6e 74 61 78 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 70 6f 69 .slicing.syntax.to.convert.a.poi
3d8a0 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 6c 69 63 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e nter.into.a.slice:</span></span>
3d8c0 0a 3c 73 70 61 6e 20 63 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
3d8e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 ass="tok-kw">const</span>.slice.
3d900 3d 20 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 =.ptr[<span.class="tok-number">0
3d920 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>..<span.class="tok-number
3d940 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 73 73 3d ">5</span>];</span>.<span.class=
3d960 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f "line">....slice[<span.class="to
3d980 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 k-number">2</span>].=.<span.clas
3d9a0 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>.
3d9c0 3c 73 70 61 6e 20 63 6c 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
3d9e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c ss="tok-kw">try</span>.expect(sl
3da00 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</
3da20 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
3da40 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
3da60 3d 22 6c 69 6e 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
3da80 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 73 6c 69 63 65 20 69 73 20 6d 75 74 61 62 6c 65 20 62 65 ment">//.The.slice.is.mutable.be
3daa0 63 61 75 73 65 20 77 65 20 73 6c 69 63 65 64 20 61 20 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 cause.we.sliced.a.mutable.pointe
3dac0 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 r.</span></span>.<span.class="li
3dae0 6e 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
3db00 22 3e 2f 2f 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 ">//.Furthermore,.it.is.actually
3db20 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2c 20 73 69 6e 63 65 20 74 68 .a.pointer.to.an.array,.since.th
3db40 65 20 73 74 61 72 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 e.start</span></span>.<span.clas
3db60 73 3d 22 6c 69 6e 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
3db80 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 65 6e 64 20 69 6e 64 65 78 65 73 20 77 65 72 65 20 62 mment">//.and.end.indexes.were.b
3dba0 6f 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e oth.comptime-known.</span></span
3dbc0 3e 0a 3c 73 70 61 6e 20 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
3dbe0 6c 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(
3dc00 3c 73 70 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
3dc20 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 29 20 3d 3d 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 f</span>(slice).==.*[<span.class
3dc40 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 ="tok-number">5</span>]<span.cla
3dc60 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>
3dc80 0a 3c 73 70 61 6e 20 63 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
3dca0 6e 20 63 6c 61 73 73 3d 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="
3dcc0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 6c 69 tok-comment">//.You.can.also.sli
3dce0 63 65 20 61 20 73 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 ce.a.slice:</span></span>.<span.
3dd00 63 6c 61 73 73 3d 22 6c 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
3dd20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 32 20 3d 20 73 6c 69 63 k-kw">const</span>.slice2.=.slic
3dd40 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 e[<span.class="tok-number">2</sp
3dd60 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c an>..<span.class="tok-number">3<
3dd80 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>];</span>.<span.class="lin
3dda0 65 22 3e 20 20 20 20 3c 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<
3ddc0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 32 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 /span>.expect(slice2.len.==.<spa
3dde0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">1</span>);<
3de00 2f 73 70 61 6e 3e 0a 3c 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
3de20 70 61 6e 20 63 6c 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
3de40 70 65 63 74 28 73 6c 69 63 65 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pect(slice2[<span.class="tok-num
3de60 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">0</span>].==.<span.class="t
3de80 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">3</span>);</span>.<sp
3dea0 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><
3dec0 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
3dee0 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
3df00 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
3df20 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6c 69 63 65 73 2e 7a 69 67 3c 2f ne">$.<kbd>zig.test.slices.zig</
3df40 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
3df60 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 /2.test.&quot;using.slices.for.s
3df80 74 72 69 6e 67 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 trings&quot;....OK</span>.<span.
3dfa0 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 6c 69 63 class="line">2/2.test.&quot;slic
3dfc0 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e.pointer&quot;....OK</span>.<sp
3dfe0 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
3e000 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
3e020 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
3e040 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 61 ><a.href="#Pointers">Pointers</a
3e060 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 ></li>.<li><a.href="#for">for</a
3e080 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 ></li>.<li><a.href="#Arrays">Arr
3e0a0 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 ays</a></li>.</ul>.........<h3.i
3e0c0 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 3c d="Sentinel-Terminated-Slices"><
3e0e0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 a.href="nav.xhtml#toc-Sentinel-T
3e100 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 erminated-Slices">Sentinel-Termi
3e120 6e 61 74 65 64 20 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 nated.Slices</a>.<a.class="hdr".
3e140 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 53 6c 69 63 65 href="#Sentinel-Terminated-Slice
3e160 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>.......
3e180 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
3e1a0 6e 65 22 3e 5b 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 6c 69 ne">[:x]T</span></code>.is.a.sli
3e1c0 63 65 20 77 68 69 63 68 20 68 61 73 20 61 20 72 75 6e 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e ce.which.has.a.runtime.known.len
3e1e0 67 74 68 0a 20 20 20 20 20 20 61 6e 64 20 61 6c 73 6f 20 67 75 61 72 61 6e 74 65 65 73 20 61 20 gth.......and.also.guarantees.a.
3e200 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 6e sentinel.value.at.the.element.in
3e220 64 65 78 65 64 20 62 79 20 74 68 65 20 6c 65 6e 67 74 68 2e 20 54 68 65 20 74 79 70 65 20 64 6f dexed.by.the.length..The.type.do
3e240 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 72 es.not.......guarantee.that.ther
3e260 65 20 61 72 65 20 6e 6f 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 73 20 62 65 66 6f 72 e.are.no.sentinel.elements.befor
3e280 65 20 74 68 61 74 2e 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 e.that..Sentinel-terminated.slic
3e2a0 65 73 20 61 6c 6c 6f 77 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 20 61 63 63 65 73 73 20 74 6f es.allow.element.......access.to
3e2c0 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 6c 65 .the.<code><span.class="line">le
3e2e0 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 3c 2f 70 n</span></code>.index........</p
3e300 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
3e320 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
3e340 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ull_terminated_slice.zig</cite><
3e360 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
3e380 73 73 3d 22 6c 69 6e 65 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
3e3a0 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
3e3c0 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
3e3e0 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;
3e400 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
3e420 6e 65 22 3e 3c 73 70 61 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</
3e440 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
3e460 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
3e480 70 61 6e 3e 0a 3c 73 70 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
3e4a0 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
3e4c0 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
3e4e0 61 74 65 64 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 ated.slice&quot;</span>.{</span>
3e500 0a 3c 73 70 61 6e 20 63 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
3e520 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 3a ass="tok-kw">const</span>.slice:
3e540 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 .[:<span.class="tok-number">0</s
3e560 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c pan>]<span.class="tok-kw">const<
3e580 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
3e5a0 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">
3e5c0 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e &quot;hello&quot;</span>;</span>
3e5e0 0a 3c 73 70 61 6e 20 63 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
3e600 6e 20 63 6c 61 73 73 3d 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="
3e620 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 2e tok-kw">try</span>.expect(slice.
3e640 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">
3e660 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 22 6c 5</span>);</span>.<span.class="l
3e680 69 6e 65 22 3e 20 20 20 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
3e6a0 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 73 y</span>.expect(slice[<span.clas
3e6c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 s="tok-number">5</span>].==.<spa
3e6e0 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>);<
3e700 2f 73 70 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
3e720 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>
3e740 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
3e760 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
3e780 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 75 .class="line">$.<kbd>zig.test.nu
3e7a0 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 ll_terminated_slice.zig</kbd></s
3e7c0 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
3e7e0 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 65 26 71 75 6f .&quot;null.terminated.slice&quo
3e800 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
3e820 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>.</
3e840 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
3e860 20 20 20 20 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 73 20 .....Sentinel-terminated.slices.
3e880 63 61 6e 20 61 6c 73 6f 20 62 65 20 63 72 65 61 74 65 64 20 75 73 69 6e 67 20 61 20 76 61 72 69 can.also.be.created.using.a.vari
3e8a0 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 20 0a 20 20 20 20 20 ation.of.the.slice.syntax.......
3e8c0 20 3c 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 61 74 61 5b 73 .<code><span.class="line">data[s
3e8e0 74 61 72 74 2e 2e 65 6e 64 20 3a 78 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 tart..end.:x]</span></code>,.whe
3e900 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 64 61 74 61 re.<code><span.class="line">data
3e920 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f </span></code>.is.a.many-item.po
3e940 69 6e 74 65 72 2c 20 0a 20 20 20 20 20 20 61 72 72 61 79 20 6f 72 20 73 6c 69 63 65 20 61 6e 64 inter,........array.or.slice.and
3e960 20 3c 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
3e980 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e n></code>.is.the.sentinel.value.
3e9a0 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
3e9c0 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
3e9e0 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 69 6e 67 s="file">null_terminated_slicing
3ea00 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
3ea20 64 65 3e 3c 73 70 61 6e 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
3ea40 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
3ea60 70 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<
3ea80 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
3eaa0 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
3eac0 61 6e 20 63 6c 61 73 73 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
3eae0 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
3eb00 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
3eb20 73 3d 22 6c 69 6e 65 22 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
3eb40 6e 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
3eb60 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
3eb80 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 3b 3c 2f ;null.terminated.slicing&quot;</
3eba0 73 70 61 6e 3e 20 7b 3c 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
3ebc0 22 3e 20 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</
3ebe0 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
3ec00 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="
3ec20 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
3ec40 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
3ec60 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
3ec80 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 20 3c n.class="tok-number">0</span>,.<
3eca0 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>
3ecc0 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
3ece0 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 3c an>,.<span.class="tok-number">1<
3ed00 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"
3ed20 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >0</span>.};</span>.<span.class=
3ed40 22 6c 69 6e 65 22 3e 20 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">
3ed60 76 61 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 var</span>.runtime_length:.<span
3ed80 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>.=
3eda0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 .<span.class="tok-number">3</spa
3edc0 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">..
3ede0 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
3ee00 61 6e 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 an>.slice.=.array[<span.class="t
3ee20 6f 6b 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 ok-number">0</span>..runtime_len
3ee40 67 74 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 gth.:<span.class="tok-number">0<
3ee60 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>];</span>.<span.class="lin
3ee80 65 22 3e 3c 2f 73 70 61 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">..
3eea0 20 20 3c 73 70 61 6e 20 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
3eec0 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
3eee0 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 29 20 3d 3d 20 5b 3a 3c 73 n">@TypeOf</span>(slice).==.[:<s
3ef00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
3ef20 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>
3ef40 29 3b 3c 2f 73 70 61 6e 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">...
3ef60 20 3c 73 70 61 6e 20 63 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>
3ef80 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .expect(slice.len.==.<span.class
3efa0 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 6e 3e 0a ="tok-number">3</span>);</span>.
3efc0 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
3efe0 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
3f000 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
3f020 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=
3f040 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 65 72 6d "line">$.<kbd>zig.test.null_term
3f060 69 6e 61 74 65 64 5f 73 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a inated_slicing.zig</kbd></span>.
3f080 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
3f0a0 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 26 71 75 6f 74 3b 2e t;null.terminated.slicing&quot;.
3f0c0 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">
3f0e0 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 6d All.1.tests.passed.</span>.</sam
3f100 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>.....
3f120 20 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e 67 20 61 73 ..Sentinel-terminated.slicing.as
3f140 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 73 65 serts.that.the.element.in.the.se
3f160 6e 74 69 6e 65 6c 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 61 63 6b 69 6e 67 20 64 ntinel.position.of.the.backing.d
3f180 61 74 61 20 69 73 20 0a 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 74 68 65 20 73 65 6e 74 69 ata.is........actually.the.senti
3f1a0 6e 65 6c 20 76 61 6c 75 65 2e 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 74 68 65 20 63 61 nel.value..If.this.is.not.the.ca
3f1c0 73 65 2c 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 se,.safety-protected.<a.href="#U
3f1e0 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
3f200 61 76 69 6f 72 3c 2f 61 3e 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 avior</a>.results........</p>...
3f220 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
3f240 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.
3f260 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
3f280 65 3e 3c 73 70 61 6e 20 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
3f2a0 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
3f2c0 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</
3f2e0 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
3f300 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
3f320 6e 20 63 6c 61 73 73 3d 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-
3f340 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
3f360 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
3f380 3d 22 6c 69 6e 65 22 3e 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
3f3a0 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
3f3c0 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;
3f3e0 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b sentinel.mismatch&quot;</span>.{
3f400 3c 2f 73 70 61 6e 3e 0a 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">....<
3f420 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
3f440 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 rray.=.[_]<span.class="tok-type"
3f460 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >u8</span>{.<span.class="tok-num
3f480 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">3</span>,.<span.class="tok-
3f4a0 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">2</span>,.<span.class="t
3f4c0 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
3f4e0 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 73 70 61 6e 3e ="tok-number">0</span>.};</span>
3f500 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 2f 73 70 61 6e 3e 0a .<span.class="line">....</span>.
3f520 3c 73 70 61 6e 20 63 6c 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
3f540 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 72 65 61 74 69 6e 67 20 61 20 73 ss="tok-comment">//.Creating.a.s
3f560 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 20 66 72 6f 6d 20 74 68 entinel-terminated.slice.from.th
3f580 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 20 3c 2f 73 70 61 e.array.with.a.length.of.2.</spa
3f5a0 6e 3e 3c 2f 73 70 61 6e 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">...
3f5c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 .<span.class="tok-comment">//.wi
3f5e0 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 76 61 6c 75 65 20 60 31 60 20 6f 63 63 75 70 ll.result.in.the.value.`1`.occup
3f600 79 69 6e 67 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 70 6f 73 69 74 69 ying.the.sentinel.element.positi
3f620 6f 6e 2e 20 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 on..</span></span>.<span.class="
3f640 6c 69 6e 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
3f660 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 69 nt">//.This.does.not.match.the.i
3f680 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 61 ndicated.sentinel.value.of.`0`.a
3f6a0 6e 64 20 77 69 6c 6c 20 6c 65 61 64 20 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nd.will.lead.</span></span>.<spa
3f6c0 6e 20 63 6c 61 73 73 3d 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="
3f6e0 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
3f700 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
3f720 69 6e 65 22 3e 20 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
3f740 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
3f760 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>.=.<
3f780 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>
3f7a0 3b 3c 2f 73 70 61 6e 3e 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">....
3f7c0 3c 73 70 61 6e 20 63 6c 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
3f7e0 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
3f800 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
3f820 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
3f840 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"
3f860 3e 3c 2f 73 70 61 6e 3e 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">....
3f880 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
3f8a0 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
3f8c0 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
3f8e0 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>
3f900 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>
3f920 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>.<
3f940 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
3f960 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
3f980 61 64 20 37 39 32 34 39 32 20 70 61 6e 69 63 3a 20 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 ad.792492.panic:.sentinel.mismat
3f9a0 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 70 ch</span>.<span.class="line"><sp
3f9c0 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
3f9e0 6f 61 64 73 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 32 3a oads/zig/docgen_tmp/test.zig:12:
3fa00 32 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 22 3e 30 78 24</span>:.<span.class="t2_0">0x
3fa20 32 30 37 61 33 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 207a3a.in.test.&quot;sentinel.mi
3fa40 73 6d 61 74 63 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 smatch&quot;.(test)</span></span
3fa60 3e 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 73 >.<span.class="line">....const.s
3fa80 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 30 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 20 3a lice.=.array[0..runtime_length.:
3faa0 30 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 0];</span>.<span.class="line">..
3fac0 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
3fae0 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
3fb00 6c 61 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">/
3fb20 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
3fb40 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 32 38 3c 2f 73 special/test_runner.zig:80:28</s
3fb60 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 66 34 36 pan>:.<span.class="t2_0">0x22f46
3fb80 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 29 3c 2f 73 70 3.in.std.special.main.(test)</sp
3fba0 61 6e 3e 3c 2f 73 70 61 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">..
3fbc0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 ......}.else.test_fn.func();</sp
3fbe0 61 6e 3e 0a 3c 73 70 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">.........
3fc00 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
3fc20 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
3fc40 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
3fc60 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 e/andy/Downloads/zig/lib/std/sta
3fc80 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 rt.zig:543:22</span>:.<span.clas
3fca0 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 37 65 35 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x227e5c.in.std.start.c
3fcc0 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
3fce0 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
3fd00 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
3fd20 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
3fd40 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
3fd60 6e 20 63 6c 61 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
3fd80 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 ">/home/andy/Downloads/zig/lib/s
3fda0 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 61 td/start.zig:495:12</span>:.<spa
3fdc0 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 32 37 65 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x20927e.in.std.s
3fde0 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 70 tart.callMainWithArgs.(test)</sp
3fe00 61 6e 3e 3c 2f 73 70 61 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">..
3fe20 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 61 ..return.@call(.{..modifier.=..a
3fe40 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 3c lways_inline.},.callMain,..{});<
3fe60 2f 73 70 61 6e 3e 0a 3c 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">......
3fe80 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
3fea0 3e 3c 2f 73 70 61 6e 3e 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
3fec0 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 44 6f 77 6e 6c 6f n.class="t1_0">/home/andy/Downlo
3fee0 61 64 73 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 37 ads/zig/lib/std/start.zig:409:17
3ff00 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 30 </span>:.<span.class="t2_0">0x20
3ff20 38 33 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 69 6e 41 8316.in.std.start.posixCallMainA
3ff40 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 61 ndExit.(test)</span></span>.<spa
3ff60 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 40 n.class="line">....std.os.exit(@
3ff80 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 69 call(.{..modifier.=..always_inli
3ffa0 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 2c ne.},.callMainWithArgs,..{.argc,
3ffc0 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 6c .argv,.envp.}));</span>.<span.cl
3ffe0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e ass="line">................<span
40000 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>.<
40020 73 70 61 6e 20 63 6c 61 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
40040 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 1_0">/home/andy/Downloads/zig/li
40060 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 3c 73 b/std/start.zig:322:5</span>:.<s
40080 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 31 32 32 20 69 6e 20 73 74 64 pan.class="t2_0">0x208122.in.std
400a0 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 70 61 .start._start.(test)</span></spa
400c0 6e 3e 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 n>.<span.class="line">....@call(
400e0 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 2c 20 .{..modifier.=..never_inline.},.
40100 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 70 61 posixCallMainAndExit,..{});</spa
40120 6e 3e 0a 3c 73 70 61 6e 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.
40140 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
40160 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 6c pan.class="line">error:.the.foll
40180 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 61 owing.test.command.crashed:</spa
401a0 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 70 n>.<span.class="line">docgen_tmp
401c0 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 /zig-cache/o/8e4964e05ddaf866e77
401e0 33 36 30 61 35 35 31 62 33 63 30 35 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 360a551b3c05b/test./home/andy/Do
40200 77 6e 6c 6f 61 64 73 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 wnloads/zig/build-release/zig</s
40220 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>.....
40240 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
40260 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
40280 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c s">Sentinel-Terminated.Pointers<
402a0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d /a></li>.<li><a.href="#Sentinel-
402c0 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d Terminated-Arrays">Sentinel-Term
402e0 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 inated.Arrays</a></li>.</ul>....
40300 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 73 74 72 75 63 ...................<h2.id="struc
40320 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 74 72 75 63 74 t"><a.href="nav.xhtml#toc-struct
40340 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ">struct</a>.<a.class="hdr".href
40360 3d 22 23 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 ="#struct">..</a></h2>........<f
40380 69 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
403a0 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 74 73 2e 7a 69 67 "><cite.class="file">structs.zig
403c0 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><
403e0 73 70 61 6e 20 63 6c 61 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
40400 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 20 73 74 72 75 63 74 2e ok-comment">//.Declare.a.struct.
40420 3c 2f 73 70 61 6e 3e 3c 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
40440 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 5a "><span.class="tok-comment">//.Z
40460 69 67 20 67 69 76 65 73 20 6e 6f 20 67 75 61 72 61 6e 74 65 65 73 20 61 62 6f 75 74 20 74 68 65 ig.gives.no.guarantees.about.the
40480 20 6f 72 64 65 72 20 6f 66 20 66 69 65 6c 64 73 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 .order.of.fields.and.the.size.of
404a0 3c 2f 73 70 61 6e 3e 3c 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
404c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 "><span.class="tok-comment">//.t
404e0 68 65 20 73 74 72 75 63 74 20 62 75 74 20 74 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 67 75 61 he.struct.but.the.fields.are.gua
40500 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 41 42 49 2d 61 6c 69 67 6e 65 64 2e 3c 2f 73 70 61 6e ranteed.to.be.ABI-aligned.</span
40520 3e 3c 2f 73 70 61 6e 3e 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
40540 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f n.class="tok-kw">const</span>.Po
40560 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 int.=.<span.class="tok-kw">struc
40580 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
405a0 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ine">....x:.<span.class="tok-typ
405c0 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
405e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b s="line">....y:.<span.class="tok
40600 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -type">f32</span>,</span>.<span.
40620 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
40640 73 73 3d 22 6c 69 6e 65 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
40660 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">/
40680 2f 20 4d 61 79 62 65 20 77 65 20 77 61 6e 74 20 74 6f 20 70 61 73 73 20 69 74 20 74 6f 20 4f 70 /.Maybe.we.want.to.pass.it.to.Op
406a0 65 6e 47 4c 20 73 6f 20 77 65 20 77 61 6e 74 20 74 6f 20 62 65 20 70 61 72 74 69 63 75 6c 61 72 enGL.so.we.want.to.be.particular
406c0 20 61 62 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .about</span></span>.<span.class
406e0 3d 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
40700 22 3e 2f 2f 20 68 6f 77 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 61 72 72 61 6e 67 65 64 2e ">//.how.the.bytes.are.arranged.
40720 3c 2f 73 70 61 6e 3e 3c 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
40740 22 3e 3c 73 70 61 6e 20 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
40760 61 6e 3e 20 50 6f 69 6e 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>.Point2.=.<span.class="tok-kw
40780 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">packed</span>.<span.class="tok
407a0 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
407c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 n.class="line">....x:.<span.clas
407e0 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>.
40800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 <span.class="line">....y:.<span.
40820 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
40840 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>
40860 0a 3c 73 70 61 6e 20 63 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
40880 6e 20 63 6c 61 73 73 3d 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
408a0 73 73 3d 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
408c0 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 61 20 nt">//.Declare.an.instance.of.a.
408e0 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 struct.</span></span>.<span.clas
40900 73 3d 22 6c 69 6e 65 22 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
40920 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 nst</span>.p.=.Point.{</span>.<s
40940 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 pan.class="line">.....x.=.<span.
40960 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 3c class="tok-number">0.12</span>,<
40980 2f 73 70 61 6e 3e 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 79 /span>.<span.class="line">.....y
409a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 33 34 .=.<span.class="tok-number">0.34
409c0 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
409e0 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">
40a00 3c 2f 73 70 61 6e 3e 0a 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
40a20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 79 62 65 20 77 65 .class="tok-comment">//.Maybe.we
40a40 27 72 65 20 6e 6f 74 20 72 65 61 64 79 20 74 6f 20 66 69 6c 6c 20 6f 75 74 20 73 6f 6d 65 20 6f 're.not.ready.to.fill.out.some.o
40a60 66 20 74 68 65 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 f.the.fields.</span></span>.<spa
40a80 6e 20 63 6c 61 73 73 3d 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-
40aa0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 32 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 kw">var</span>.p2.=.Point.{</spa
40ac0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 78 20 3d 20 3c n>.<span.class="line">.....x.=.<
40ae0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 span.class="tok-number">0.12</sp
40b00 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">.
40b20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 ....y.=.<span.class="tok-null">u
40b40 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ndefined</span>,</span>.<span.cl
40b60 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
40b80 3d 22 6c 69 6e 65 22 3e 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
40ba0 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">//.
40bc0 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 3c 2f 73 70 61 6e 3e 3c Structs.can.have.methods</span><
40be0 2f 73 70 61 6e 3e 0a 3c 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.
40c00 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 20 6d 65 class="tok-comment">//.Struct.me
40c20 74 68 6f 64 73 20 61 72 65 20 6e 6f 74 20 73 70 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 thods.are.not.special,.they.are.
40c40 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 only.namespaced</span></span>.<s
40c60 70 61 6e 20 63 6c 61 73 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
40c80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 k-comment">//.functions.that.you
40ca0 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e .can.call.with.dot.syntax.</span
40cc0 3e 3c 2f 73 70 61 6e 3e 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
40ce0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 n.class="tok-kw">const</span>.Ve
40d00 63 33 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 c3.=.<span.class="tok-kw">struct
40d20 3c 2f 73 70 61 6e 3e 20 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
40d40 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ne">....x:.<span.class="tok-type
40d60 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">f32</span>,</span>.<span.class
40d80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....y:.<span.class="tok-
40da0 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">f32</span>,</span>.<span.c
40dc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lass="line">....z:.<span.class="
40de0 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
40e00 61 6e 20 63 6c 61 73 73 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
40e20 61 73 73 3d 22 6c 69 6e 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-
40e40 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-
40e60 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
40e80 6e 22 3e 69 6e 69 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">init</span>(x:.<span.class="t
40ea0 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c ok-type">f32</span>,.y:.<span.cl
40ec0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 7a 3a 20 3c 73 ass="tok-type">f32</span>,.z:.<s
40ee0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">f32</span>)
40f00 20 56 65 63 33 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .Vec3.{</span>.<span.class="line
40f20 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
40f40 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e eturn</span>.Vec3.{</span>.<span
40f60 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 78 .class="line">.............x.=.x
40f80 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">....
40fa0 20 20 20 20 20 20 20 20 2e 79 20 3d 20 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .........y.=.y,</span>.<span.cla
40fc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 7a 20 3d 20 7a 2c 3c 2f 73 ss="line">.............z.=.z,</s
40fe0 70 61 6e 3e 0a 3c 73 70 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">........
41000 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">...
41020 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
41040 70 61 6e 3e 0a 3c 73 70 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
41060 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
41080 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
410a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a .class="tok-fn">dot</span>(self:
410c0 20 56 65 63 33 2c 20 6f 74 68 65 72 3a 20 56 65 63 33 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .Vec3,.other:.Vec3).<span.class=
410e0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">f32</span>.{</span>.<
41100 73 70 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.
41120 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c class="tok-kw">return</span>.sel
41140 66 2e 78 20 2a 20 6f 74 68 65 72 2e 78 20 2b 20 73 65 6c 66 2e 79 20 2a 20 6f 74 68 65 72 2e 79 f.x.*.other.x.+.self.y.*.other.y
41160 20 2b 20 73 65 6c 66 2e 7a 20 2a 20 6f 74 68 65 72 2e 7a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .+.self.z.*.other.z;</span>.<spa
41180 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
411a0 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
411c0 6c 61 73 73 3d 22 6c 69 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=
411e0 22 6c 69 6e 65 22 3e 3c 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
41200 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.expect.=.<span.class="t
41220 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
41240 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;
41260 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a </span>).testing.expect;</span>.
41280 3c 73 70 61 6e 20 63 6c 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="
412a0 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=
412c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 74 20 70 72 6f 64 75 63 74 26 71 75 6f 74 "tok-str">&quot;dot.product&quot
412e0 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
41300 69 6e 65 22 3e 20 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
41320 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 31 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 nst</span>.v1.=.Vec3.init(<span.
41340 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c class="tok-number">1.0</span>,.<
41360 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
41380 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 n>,.<span.class="tok-number">0.0
413a0 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
413c0 6e 65 22 3e 20 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
413e0 73 74 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 st</span>.v2.=.Vec3.init(<span.c
41400 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
41420 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
41440 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c >,.<span.class="tok-number">0.0<
41460 2f 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
41480 65 22 3e 20 20 20 20 3c 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<
414a0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 31 2e 64 6f 74 28 76 32 29 20 3d 3d 20 3c 73 70 61 /span>.expect(v1.dot(v2).==.<spa
414c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 n.class="tok-number">0.0</span>)
414e0 3b 3c 2f 73 70 61 6e 3e 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
41500 61 6e 3e 0a 3c 73 70 61 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
41520 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 74 68 65 72 20 74 68 .class="tok-comment">//.Other.th
41540 61 6e 20 62 65 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 63 61 6c 6c 20 77 69 74 68 20 an.being.available.to.call.with.
41560 64 6f 74 20 73 79 6e 74 61 78 2c 20 73 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 3c 2f dot.syntax,.struct.methods.are</
41580 73 70 61 6e 3e 3c 2f 73 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">
415a0 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">//
415c0 20 6e 6f 74 20 73 70 65 63 69 61 6c 2e 20 59 6f 75 20 63 61 6e 20 72 65 66 65 72 65 6e 63 65 20 .not.special..You.can.reference.
415e0 74 68 65 6d 20 61 73 20 61 6e 79 20 6f 74 68 65 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e them.as.any.other.declaration.in
41600 73 69 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 side</span></span>.<span.class="
41620 6c 69 6e 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
41640 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e nt">//.the.struct:</span></span>
41660 0a 3c 73 70 61 6e 20 63 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
41680 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 56 ass="tok-kw">try</span>.expect(V
416a0 65 63 33 2e 64 6f 74 28 76 31 2c 20 76 32 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ec3.dot(v1,.v2).==.<span.class="
416c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a tok-number">0.0</span>);</span>.
416e0 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
41700 6e 20 63 6c 61 73 73 3d 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
41720 73 73 3d 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
41740 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 64 65 63 6c 61 72 61 74 nt">//.Structs.can.have.declarat
41760 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ions.</span></span>.<span.class=
41780 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"
417a0 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 30 20 66 69 65 6c 64 73 2e 3c 2f >//.Structs.can.have.0.fields.</
417c0 73 70 61 6e 3e 3c 2f 73 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">
417e0 3c 73 70 61 6e 20 63 6c 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
41800 3e 20 45 6d 70 74 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 >.Empty.=.<span.class="tok-kw">s
41820 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
41840 73 3d 22 6c 69 6e 65 22 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
41860 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
41880 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 49 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">const</span>.PI.=.<span.class=
418a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e "tok-number">3.14</span>;</span>
418c0 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
418e0 70 61 6e 20 63 6c 61 73 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
41900 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
41920 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 64 20 ok-str">&quot;struct.namespaced.
41940 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 0a 3c variable&quot;</span>.{</span>.<
41960 73 70 61 6e 20 63 6c 61 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
41980 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 45 6d 70 s="tok-kw">try</span>.expect(Emp
419a0 74 79 2e 50 49 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ty.PI.==.<span.class="tok-number
419c0 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">3.14</span>);</span>.<span.cla
419e0 73 73 3d 22 6c 69 6e 65 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
41a00 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
41a20 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 45 6d ="tok-builtin">@sizeOf</span>(Em
41a40 70 74 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pty).==.<span.class="tok-number"
41a60 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="
41a80 6c 69 6e 65 22 3e 3c 2f 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"
41aa0 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">/
41ac0 2f 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 69 6e 73 74 61 6e 74 69 61 74 65 20 61 6e 20 65 /.you.can.still.instantiate.an.e
41ae0 6d 70 74 79 20 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mpty.struct</span></span>.<span.
41b00 63 6c 61 73 73 3d 22 6c 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
41b20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 20 k-kw">const</span>.does_nothing.
41b40 3d 20 45 6d 70 74 79 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 =.Empty.{};</span>.<span.class="
41b60 6c 69 6e 65 22 3e 3c 2f 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"
41b80 3e 20 20 20 20 5f 20 3d 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 >...._.=.does_nothing;</span>.<s
41ba0 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.
41bc0 63 6c 61 73 73 3d 22 6c 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
41be0 3d 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
41c00 22 3e 2f 2f 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 6f 72 64 65 72 20 69 73 20 64 65 74 65 72 ">//.struct.field.order.is.deter
41c20 6d 69 6e 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 6f 70 74 69 6d 61 mined.by.the.compiler.for.optima
41c40 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 l.performance.</span></span>.<sp
41c60 61 6e 20 63 6c 61 73 73 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
41c80 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 61 6e 20 73 74 -comment">//.however,.you.can.st
41ca0 69 6c 6c 20 63 61 6c 63 75 6c 61 74 65 20 61 20 73 74 72 75 63 74 20 62 61 73 65 20 70 6f 69 6e ill.calculate.a.struct.base.poin
41cc0 74 65 72 20 67 69 76 65 6e 20 61 20 66 69 65 6c 64 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e ter.given.a.field.pointer:</span
41ce0 3e 3c 2f 73 70 61 6e 3e 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
41d00 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
41d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 74 59 42 61 73 65 64 4f 6e 58 3c 2f 73 70 .class="tok-fn">setYBasedOnX</sp
41d40 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 an>(x:.*<span.class="tok-type">f
41d60 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 32</span>,.y:.<span.class="tok-t
41d80 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">f32</span>).<span.class="to
41da0 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
41dc0 61 6e 20 63 6c 61 73 73 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=
41de0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 3c 73 "tok-kw">const</span>.point.=.<s
41e00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 pan.class="tok-builtin">@fieldPa
41e20 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 rentPtr</span>(Point,.<span.clas
41e40 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s="tok-str">&quot;x&quot;</span>
41e60 2c 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ,.x);</span>.<span.class="line">
41e80 20 20 20 20 70 6f 69 6e 74 2e 79 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....point.y.=.y;</span>.<span.cl
41ea0 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=
41ec0 22 6c 69 6e 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
41ee0 3c 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
41f00 75 6f 74 3b 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f uot;field.parent.pointer&quot;</
41f20 73 70 61 6e 3e 20 7b 3c 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
41f40 22 3e 20 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</
41f60 73 70 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 span>.point.=.Point.{</span>.<sp
41f80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 an.class="line">.........x.=.<sp
41fa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 33 34 3c 2f 73 70 an.class="tok-number">0.1234</sp
41fc0 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">.
41fe0 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ........y.=.<span.class="tok-num
42000 62 65 72 22 3e 30 2e 35 36 37 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber">0.5678</span>,</span>.<span
42020 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
42040 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 74 59 42 61 73 65 64 4f 6e 58 28 n.class="line">....setYBasedOnX(
42060 26 61 6d 70 3b 70 6f 69 6e 74 2e 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e &amp;point.x,.<span.class="tok-n
42080 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">0.9</span>);</span>.<span
420a0 20 63 6c 61 73 73 3d 22 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
420c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 6f 69 6e 74 2e 79 ok-kw">try</span>.expect(point.y
420e0 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 2e 39 .==.<span.class="tok-number">0.9
42100 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
42120 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">
42140 3c 2f 73 70 61 6e 3e 0a 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
42160 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 6e 20 .class="tok-comment">//.You.can.
42180 72 65 74 75 72 6e 20 61 20 73 74 72 75 63 74 20 66 72 6f 6d 20 61 20 66 75 6e 63 74 69 6f 6e 2e return.a.struct.from.a.function.
421a0 20 54 68 69 73 20 69 73 20 68 6f 77 20 77 65 20 64 6f 20 67 65 6e 65 72 69 63 73 3c 2f 73 70 61 .This.is.how.we.do.generics</spa
421c0 6e 3e 3c 2f 73 70 61 6e 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
421e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 5a 69 67 an.class="tok-comment">//.in.Zig
42200 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
42220 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
42240 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 6e 6b 65 64 4c 69 73 >.<span.class="tok-fn">LinkedLis
42260 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
42280 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mptime</span>.T:.<span.class="to
422a0 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">type</span>).<span.class
422c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">type</span>.{</span>
422e0 0a 3c 73 70 61 6e 20 63 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
42300 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
42320 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>.{<
42340 2f 73 70 61 6e 3e 0a 3c 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">......
42360 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
42380 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
423a0 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.Node.=.<span.class="tok-kw">
423c0 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
423e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 76 3a 20 3f 2a 4e 6f ss="line">............prev:.?*No
42400 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 de,</span>.<span.class="line">..
42420 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c ..........next:.?*Node,</span>.<
42440 73 70 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 64 61 span.class="line">............da
42460 74 61 3a 20 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ta:.T,</span>.<span.class="line"
42480 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="
424a0 6c 69 6e 65 22 3e 3c 2f 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"
424c0 3e 20 20 20 20 20 20 20 20 66 69 72 73 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c >........first:.?*Node,</span>.<
424e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 61 73 74 3a 20 span.class="line">........last:.
42500 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .?*Node,</span>.<span.class="lin
42520 65 22 3e 20 20 20 20 20 20 20 20 6c 65 6e 3a 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 e">........len:...<span.class="t
42540 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
42560 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>.<
42580 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
425a0 20 63 6c 61 73 73 3d 22 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
425c0 73 3d 22 6c 69 6e 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
425e0 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">
42600 26 71 75 6f 74 3b 6c 69 6e 6b 65 64 20 6c 69 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b &quot;linked.list&quot;</span>.{
42620 3c 2f 73 70 61 6e 3e 0a 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">....<
42640 73 70 61 6e 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 6e 63 span.class="tok-comment">//.Func
42660 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 65 tions.called.at.compile-time.are
42680 20 6d 65 6d 6f 69 7a 65 64 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 79 6f 75 20 63 61 6e 3c 2f 73 .memoized..This.means.you.can</s
426a0 70 61 6e 3e 3c 2f 73 70 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">.
426c0 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">//.
426e0 64 6f 20 74 68 69 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 do.this:</span></span>.<span.cla
42700 73 73 3d 22 6c 69 6e 65 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
42720 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 4c 69 6e 6b 65 64 4c 69 73 74 28 w">try</span>.expect(LinkedList(
42740 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
42760 3e 29 20 3d 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >).==.LinkedList(<span.class="to
42780 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 70 k-type">i32</span>));</span>.<sp
427a0 61 6e 20 63 6c 61 73 73 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
427c0 61 73 73 3d 22 6c 69 6e 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-
427e0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 kw">var</span>.list.=.LinkedList
42800 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 (<span.class="tok-type">i32</spa
42820 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>).{</span>.<span.class="line">
42840 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .........first.=.<span.class="to
42860 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-null">null</span>,</span>.<spa
42880 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 3c n.class="line">.........last.=.<
428a0 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
428c0 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">...
428e0 20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ......len.=.<span.class="tok-num
42900 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 73 ber">0</span>,</span>.<span.clas
42920 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
42940 73 73 3d 22 6c 69 6e 65 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
42960 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 2e 6c 65 6e 20 3d 3d w">try</span>.expect(list.len.==
42980 20 3c 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
429a0 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"><
429c0 2f 73 70 61 6e 3e 0a 3c 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
429e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 63 65 pan.class="tok-comment">//.Since
42a00 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 20 79 6f .types.are.first.class.values.yo
42a20 75 20 63 61 6e 20 69 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 74 79 70 65 3c 2f 73 70 61 6e u.can.instantiate.the.type</span
42a40 3e 3c 2f 73 70 61 6e 3e 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">....
42a60 3c 73 70 61 6e 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 79 20 <span.class="tok-comment">//.by.
42a80 61 73 73 69 67 6e 69 6e 67 20 69 74 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 assigning.it.to.a.variable:</spa
42aa0 6e 3e 3c 2f 73 70 61 6e 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">...
42ac0 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
42ae0 6e 3e 20 4c 69 73 74 4f 66 49 6e 74 73 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e n>.ListOfInts.=.LinkedList(<span
42b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f .class="tok-type">i32</span>);</
42b20 73 70 61 6e 3e 0a 3c 73 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
42b40 61 6e 20 63 6c 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
42b60 65 63 74 28 4c 69 73 74 4f 66 49 6e 74 73 20 3d 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 ect(ListOfInts.==.LinkedList(<sp
42b80 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 29 an.class="tok-type">i32</span>))
42ba0 3b 3c 2f 73 70 61 6e 3e 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
42bc0 61 6e 3e 0a 3c 73 70 61 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
42be0 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 20 .class="tok-kw">var</span>.node.
42c00 3d 20 4c 69 73 74 4f 66 49 6e 74 73 2e 4e 6f 64 65 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e =.ListOfInts.Node.{</span>.<span
42c20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 72 65 76 20 3d 20 3c 73 .class="line">.........prev.=.<s
42c40 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>
42c60 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">....
42c80 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c .....next.=.<span.class="tok-nul
42ca0 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
42cc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 ss="line">.........data.=.<span.
42ce0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c class="tok-number">1234</span>,<
42d00 2f 73 70 61 6e 3e 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">....};
42d20 3c 2f 73 70 61 6e 3e 0a 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">....<
42d40 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 6c span.class="tok-kw">var</span>.l
42d60 69 73 74 32 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ist2.=.LinkedList(<span.class="t
42d80 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">i32</span>).{</span>.<s
42da0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 pan.class="line">.........first.
42dc0 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d =.&amp;node,</span>.<span.class=
42de0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 "line">.........last.=.&amp;node
42e00 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">....
42e20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .....len.=.<span.class="tok-numb
42e40 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
42e60 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
42e80 73 3d 22 6c 69 6e 65 22 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
42ea0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e ">try</span>.expect(list2.first.
42ec0 3f 2e 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ?.data.==.<span.class="tok-numbe
42ee0 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">1234</span>);</span>.<span.cl
42f00 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>
42f20 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
42f40 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
42f60 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">$
42f80 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 2f 6b 62 64 3e .<kbd>zig.test.structs.zig</kbd>
42fa0 3c 2f 73 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 34 20 74 </span>.<span.class="line">1/4.t
42fc0 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 2e 2e 2e 20 4f est.&quot;dot.product&quot;....O
42fe0 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 32 2f 34 20 K</span>.<span.class="line">2/4.
43000 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 64 20 76 61 72 test.&quot;struct.namespaced.var
43020 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 70 61 6e 20 63 iable&quot;....OK</span>.<span.c
43040 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 66 69 65 6c 64 lass="line">3/4.test.&quot;field
43060 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 3c 2f 73 70 61 .parent.pointer&quot;....OK</spa
43080 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 65 73 74 20 26 n>.<span.class="line">4/4.test.&
430a0 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 4b 3c 2f 73 70 quot;linked.list&quot;....OK</sp
430c0 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 34 20 74 65 73 an>.<span.class="line">All.4.tes
430e0 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><
43100 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 61 75 6c 74 2d /figure>........<h3.id="Default-
43120 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c Field-Values"><a.href="nav.xhtml
43140 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 65 66 61 75 #toc-Default-Field-Values">Defau
43160 6c 74 20 46 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 lt.Field.Values</a>.<a.class="hd
43180 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e r".href="#Default-Field-Values">
431a0 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 ..</a></h3>........<p>.......Eac
431c0 68 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 6d 61 79 20 68 61 76 65 20 61 6e 20 65 78 70 72 65 h.struct.field.may.have.an.expre
431e0 73 73 69 6f 6e 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 69 65 ssion.indicating.the.default.fie
43200 6c 64 20 76 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 ld.value..Such.expressions......
43220 20 61 72 65 20 65 78 65 63 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 .are.executed.at.<a.href="#compt
43240 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 20 61 6e 64 20 61 6c 6c 6f 77 20 74 68 65 ime">comptime</a>,.and.allow.the
43260 20 66 69 65 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 .field.to.be.omitted.in.a.struct
43280 20 6c 69 74 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 .literal.expression:.......</p>.
432a0 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=
432c0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 "zig-cap"><cite.class="file">def
432e0 61 75 6c 74 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 ault_field_values.zig</cite></fi
43300 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=
43320 22 6c 69 6e 65 22 3e 3c 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
43340 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d t</span>.Foo.=.<span.class="tok-
43360 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e kw">struct</span>.{</span>.<span
43380 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 73 73 .class="line">....a:.<span.class
433a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
433c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f lass="tok-number">1234</span>,</
433e0 73 70 61 6e 3e 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 span>.<span.class="line">....b:.
43400 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
43420 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">};<
43440 2f 73 70 61 6e 3e 0a 3c 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
43460 3e 0a 3c 73 70 61 6e 20 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
43480 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
434a0 73 3d 22 74 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 s="tok-str">&quot;default.struct
434c0 20 69 6e 69 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 .initialization.fields&quot;</sp
434e0 61 6e 3e 20 7b 3c 2f 73 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">
43500 20 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</
43520 73 70 61 6e 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 span>.x.=.Foo{</span>.<span.clas
43540 73 3d 22 6c 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 s="line">.........b.=.<span.clas
43560 73 3d 22 74 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 s="tok-number">5</span>,</span>.
43580 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>
435a0 0a 3c 73 70 61 6e 20 63 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
435c0 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 2e 61 20 2b 20 78 2e ass="tok-kw">if</span>.(x.a.+.x.
435e0 62 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 32 b.!=.<span.class="tok-number">12
43600 33 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 63 6c 61 73 73 3d 39</span>).{</span>.<span.class=
43620 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-
43640 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 builtin">@compileError</span>(<s
43660 70 61 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 74 27 73 20 65 pan.class="tok-str">&quot;it's.e
43680 76 65 6e 20 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 ven.comptime.known!&quot;</span>
436a0 29 3b 3c 2f 73 70 61 6e 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">...
436c0 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">}</
436e0 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
43700 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"
43720 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
43740 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
43760 20 64 65 66 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 .default_field_values.zig</kbd><
43780 2f 73 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
437a0 73 74 20 26 71 75 6f 74 3b 64 65 66 61 75 6c 74 20 73 74 72 75 63 74 20 69 6e 69 74 69 61 6c 69 st.&quot;default.struct.initiali
437c0 7a 61 74 69 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 zation.fields&quot;....OK</span>
437e0 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.
43800 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
43820 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 65 78 74 65 gure>...............<h3.id="exte
43840 72 6e 2d 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f rn-struct"><a.href="nav.xhtml#to
43860 63 2d 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f c-extern-struct">extern.struct</
43880 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 2d a>.<a.class="hdr".href="#extern-
438a0 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e struct">..</a></h3>........<p>An
438c0 20 3c 63 6f 64 65 3e 3c 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.
438e0 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
43900 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 3c an.class="tok-kw">struct</span><
43920 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f /span></code>.has.in-memory.layo
43940 75 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 6d 61 74 63 68 20 74 68 65 0a 20 20 20 20 20 ut.guaranteed.to.match.the......
43960 20 43 20 41 42 49 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 .C.ABI.for.the.target.</p>......
43980 20 3c 70 3e 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 73 74 72 75 63 74 20 73 68 6f 75 6c 64 20 6f .<p>This.kind.of.struct.should.o
439a0 6e 6c 79 20 62 65 20 75 73 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 nly.be.used.for.compatibility.wi
439c0 74 68 20 74 68 65 20 43 20 41 42 49 2e 20 45 76 65 72 79 20 6f 74 68 65 72 0a 20 20 20 20 20 20 th.the.C.ABI..Every.other.......
439e0 75 73 65 20 63 61 73 65 20 73 68 6f 75 6c 64 20 62 65 20 73 6f 6c 76 65 64 20 77 69 74 68 20 3c use.case.should.be.solved.with.<
43a00 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 a.href="#packed-struct">packed.s
43a20 74 72 75 63 74 3c 2f 61 3e 20 6f 72 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 73 74 truct</a>.or.normal.<a.href="#st
43a40 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 ruct">struct</a>.</p>.......<p>S
43a60 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 65 ee.also:</p><ul>.<li><a.href="#e
43a80 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c xtern-union">extern.union</a></l
43aa0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 i>.<li><a.href="#extern-enum">ex
43ac0 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 tern.enum</a></li>.</ul>........
43ae0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 3c ........<h3.id="packed-struct"><
43b00 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 a.href="nav.xhtml#toc-packed-str
43b20 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d uct">packed.struct</a>.<a.class=
43b40 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f "hdr".href="#packed-struct">..</
43b60 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 55 6e 6c 69 6b 65 20 a></h3>........<p>.......Unlike.
43b80 6e 6f 72 6d 61 6c 20 73 74 72 75 63 74 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 normal.structs,.<code><span.clas
43ba0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 s="line"><span.class="tok-kw">pa
43bc0 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 73 74 72 75 63 74 cked</span></span></code>.struct
43be0 73 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f s.have.guaranteed.in-memory.layo
43c00 75 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ut:.......</p>.......<ul>.......
43c20 20 20 3c 6c 69 3e 46 69 65 6c 64 73 20 72 65 6d 61 69 6e 20 69 6e 20 74 68 65 20 6f 72 64 65 72 ..<li>Fields.remain.in.the.order
43c40 20 64 65 63 6c 61 72 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 72 .declared.</li>.........<li>Ther
43c60 65 20 69 73 20 6e 6f 20 70 61 64 64 69 6e 67 20 62 65 74 77 65 65 6e 20 66 69 65 6c 64 73 2e 3c e.is.no.padding.between.fields.<
43c80 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 /li>.........<li>Zig.supports.ar
43ca0 62 69 74 72 61 72 79 20 77 69 64 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 bitrary.width.<a.href="#Integers
43cc0 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 61 6e 64 20 61 6c 74 68 6f 75 67 68 20 6e 6f 72 6d ">Integers</a>.and.although.norm
43ce0 61 6c 6c 79 2c 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 66 65 77 65 72 0a 20 20 20 20 20 20 ally,.integers.with.fewer.......
43d00 20 20 74 68 61 6e 20 38 20 62 69 74 73 20 77 69 6c 6c 20 73 74 69 6c 6c 20 75 73 65 20 31 20 62 ..than.8.bits.will.still.use.1.b
43d20 79 74 65 20 6f 66 20 6d 65 6d 6f 72 79 2c 20 69 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 yte.of.memory,.in.packed.structs
43d40 2c 20 74 68 65 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 65 78 61 63 74 6c 79 20 74 68 65 69 72 ,.they.use.........exactly.their
43d60 20 62 69 74 20 77 69 64 74 68 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .bit.width..........</li>.......
43d80 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"><
43da0 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
43dc0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 69 65 6c 64 73 20 75 73 65 20 65 78 61 63 74 ></span></code>.fields.use.exact
43de0 6c 79 20 31 20 62 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 ly.1.bit.</li>.........<li>An.<a
43e00 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 .href="#enum">enum</a>.field.use
43e20 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 69 74 73 20 69 s.exactly.the.bit.width.of.its.i
43e40 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c nteger.tag.type.</li>.........<l
43e60 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b i>A.<a.href="#packed-union">pack
43e80 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 73 20 65 78 61 63 74 6c 79 20 ed.union</a>.field.uses.exactly.
43ea0 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 the.bit.width.of.the.union.field
43ec0 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 65 20 6c 61 72 67 65 73 74 20 62 69 74 20 77 69 .with.........the.largest.bit.wi
43ee0 64 74 68 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 42 49 2d 61 6c dth.</li>.........<li>Non-ABI-al
43f00 69 67 6e 65 64 20 66 69 65 6c 64 73 20 61 72 65 20 70 61 63 6b 65 64 20 69 6e 74 6f 20 74 68 65 igned.fields.are.packed.into.the
43f20 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 41 42 49 2d 61 .smallest.possible.........ABI-a
43f40 6c 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 6e 20 61 63 63 6f 72 64 61 6e 63 65 20 77 69 ligned.integers.in.accordance.wi
43f60 74 68 20 74 68 65 20 74 61 72 67 65 74 20 65 6e 64 69 61 6e 6e 65 73 73 2e 0a 20 20 20 20 20 20 th.the.target.endianness........
43f80 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 3c 70 3e 0a 20 20 ..</li>.......</ul>.......<p>...
43fa0 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 ....This.means.that.a.<code><spa
43fc0 6e 20 63 6c 61 73 73 3d 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-
43fe0 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
44000 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 2f 63 6f 64 ok-kw">struct</span></span></cod
44020 65 3e 20 63 61 6e 20 70 61 72 74 69 63 69 70 61 74 65 0a 20 20 20 20 20 20 69 6e 20 61 20 3c 61 e>.can.participate.......in.a.<a
44040 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 6f 72 .href="#bitCast">@bitCast</a>.or
44060 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f .a.<a.href="#ptrCast">@ptrCast</
44080 61 3e 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 a>.to.reinterpret.memory........
440a0 54 68 69 73 20 65 76 65 6e 20 77 6f 72 6b 73 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d This.even.works.at.<a.href="#com
440c0 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ptime">comptime</a>:.......</p>.
440e0 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=
44100 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 61 63 "zig-cap"><cite.class="file">pac
44120 6b 65 64 5f 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 ked_structs.zig</cite></figcapti
44140 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"
44160 3e 3c 73 70 61 6e 20 63 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
44180 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
441a0 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
441c0 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>);
441e0 3c 2f 73 70 61 6e 3e 0a 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
44200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 .class="tok-kw">const</span>.nat
44220 69 76 65 5f 65 6e 64 69 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ive_endian.=.<span.class="tok-bu
44240 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
44260 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;<
44280 2f 73 70 61 6e 3e 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 2e 65 6e 64 69 61 6e 28 29 /span>).target.cpu.arch.endian()
442a0 3b 3c 2f 73 70 61 6e 3e 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
442c0 6e 20 63 6c 61 73 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
442e0 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
44300 3e 0a 3c 73 70 61 6e 20 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
44320 61 6e 20 63 6c 61 73 73 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
44340 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 75 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 -kw">const</span>.Full.=.<span.c
44360 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
44380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-kw">struct</span>.{
443a0 3c 2f 73 70 61 6e 3e 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
443c0 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 umber:.<span.class="tok-type">u1
443e0 36 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 6</span>,</span>.<span.class="li
44400 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"
44420 3e 3c 73 70 61 6e 20 63 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
44440 6e 3e 20 44 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n>.Divided.=.<span.class="tok-kw
44460 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">packed</span>.<span.class="tok
44480 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
444a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 68 61 6c 66 31 3a 20 3c 73 70 61 6e 20 n.class="line">....half1:.<span.
444c0 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
444e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 71 75 61 72 74 65 n>.<span.class="line">....quarte
44500 72 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 r3:.<span.class="tok-type">u4</s
44520 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">
44540 20 20 20 20 71 75 61 72 74 65 72 34 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ....quarter4:.<span.class="tok-t
44560 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
44580 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=
445a0 22 6c 69 6e 65 22 3e 3c 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
445c0 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
445e0 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 40 n>.<span.class="tok-str">&quot;@
44600 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 26 71 bitCast.between.packed.structs&q
44620 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
44640 3d 22 6c 69 6e 65 22 3e 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"
44660 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a >try</span>.doTheTest();</span>.
44680 3c 73 70 61 6e 20 63 6c 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
446a0 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
446c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 n.class="tok-kw">try</span>.doTh
446e0 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e eTest();</span>.<span.class="lin
44700 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"><
44720 2f 73 70 61 6e 3e 0a 3c 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.
44740 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
44760 6c 61 73 73 3d 22 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 lass="tok-fn">doTheTest</span>()
44780 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 .!<span.class="tok-type">void</s
447a0 70 61 6e 3e 20 7b 3c 2f 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"
447c0 3e 20 20 20 20 3c 73 70 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
447e0 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
44800 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 46 75 6c 6c 29 20 3d 3d 20 3c 73 ltin">@sizeOf</span>(Full).==.<s
44820 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>)
44840 3b 3c 2f 73 70 61 6e 3e 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">....
44860 3c 73 70 61 6e 20 63 6c 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>.
44880 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 expect(<span.class="tok-builtin"
448a0 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 44 69 76 69 64 65 64 29 20 3d 3d 20 3c 73 70 61 >@sizeOf</span>(Divided).==.<spa
448c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">2</span>);<
448e0 2f 73 70 61 6e 3e 0a 3c 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
44900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 pan.class="tok-kw">var</span>.fu
44920 6c 6c 20 3d 20 46 75 6c 6c 7b 20 2e 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ll.=.Full{..number.=.<span.class
44940 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f ="tok-number">0x1234</span>.};</
44960 73 70 61 6e 3e 0a 3c 73 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
44980 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 69 76 an.class="tok-kw">var</span>.div
449a0 69 64 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 ided.=.<span.class="tok-builtin"
449c0 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 44 69 76 69 64 65 64 2c 20 66 75 6c 6c 29 3b >@bitCast</span>(Divided,.full);
449e0 3c 2f 73 70 61 6e 3e 0a 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">....<
44a00 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
44a20 3e 20 28 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >.(native_endian).{</span>.<span
44a40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 42 69 67 20 3d 26 67 74 3b .class="line">.........Big.=&gt;
44a60 20 7b 3c 2f 73 70 61 6e 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">...
44a80 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
44aa0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 68 61 6c 66 31 20 3d 3d y</span>.expect(divided.half1.==
44ac0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f .<span.class="tok-number">0x12</
44ae0 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
44b00 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
44b20 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 w">try</span>.expect(divided.qua
44b40 72 74 65 72 33 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 rter3.==.<span.class="tok-number
44b60 22 3e 30 78 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 ">0x3</span>);</span>.<span.clas
44b80 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
44ba0 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 69 76 69 ="tok-kw">try</span>.expect(divi
44bc0 64 65 64 2e 71 75 61 72 74 65 72 34 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ded.quarter4.==.<span.class="tok
44be0 2d 6e 75 6d 62 65 72 22 3e 30 78 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">0x4</span>);</span>.<sp
44c00 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 2c 3c 2f 73 70 61 6e an.class="line">........},</span
44c20 3e 0a 3c 73 70 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 4c 69 >.<span.class="line">.........Li
44c40 74 74 6c 65 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 ttle.=&gt;.{</span>.<span.class=
44c60 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="
44c80 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
44ca0 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
44cc0 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">0x34</span>);</span>.<span.c
44ce0 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
44d00 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
44d20 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="
44d40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a tok-number">0x2</span>);</span>.
44d60 3c 73 70 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">............<
44d80 73 70 61 6e 20 63 6c 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
44da0 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.
44dc0 63 6c 61 73 73 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 class="tok-number">0x1</span>);<
44de0 2f 73 70 61 6e 3e 0a 3c 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">......
44e00 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">.
44e20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ...}</span>.<span.class="line">}
44e40 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
44e60 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
44e80 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>
44ea0 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
44ec0 73 74 20 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 st.packed_structs.zig</kbd></spa
44ee0 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.&
44f00 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 20 73 74 72 quot;@bitCast.between.packed.str
44f20 75 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 70 61 6e 20 63 6c ucts&quot;....OK</span>.<span.cl
44f40 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.</
44f60 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>....
44f80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 74 68 65 20 61 64 64 72 ...<p>.......Zig.allows.the.addr
44fa0 65 73 73 20 74 6f 20 62 65 20 74 61 6b 65 6e 20 6f 66 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c ess.to.be.taken.of.a.non-byte-al
44fc0 69 67 6e 65 64 20 66 69 65 6c 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 igned.field:.......</p>.......<f
44fe0 69 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
45000 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 74 6f 5f "><cite.class="file">pointer_to_
45020 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 63 69 74 65 non-byte_aligned_field.zig</cite
45040 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
45060 6c 61 73 73 3d 22 6c 69 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"
45080 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=
450a0 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
450c0 61 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
450e0 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="
45100 6c 69 6e 65 22 3e 3c 73 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
45120 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
45140 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"><
45160 2f 73 70 61 6e 3e 0a 3c 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.
45180 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 class="tok-kw">const</span>.BitF
451a0 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b ield.=.<span.class="tok-kw">pack
451c0 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 ed</span>.<span.class="tok-kw">s
451e0 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
45200 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
45220 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u3</span>,</span>.<span.c
45240 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 22 lass="line">....b:.<span.class="
45260 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tok-type">u3</span>,</span>.<spa
45280 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 n.class="line">....c:.<span.clas
452a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c s="tok-type">u2</span>,</span>.<
452c0 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
452e0 6e 20 63 6c 61 73 73 3d 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
45300 73 73 3d 22 6c 69 6e 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
45320 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e ar</span>.foo.=.BitField{</span>
45340 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 70 .<span.class="line">.....a.=.<sp
45360 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 3c an.class="tok-number">1</span>,<
45380 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 62 /span>.<span.class="line">.....b
453a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 .=.<span.class="tok-number">2</s
453c0 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">
453e0 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .....c.=.<span.class="tok-number
45400 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">3</span>,</span>.<span.class="
45420 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
45440 65 22 3e 3c 2f 73 70 61 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
45460 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>.<
45480 73 70 61 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 span.class="tok-str">&quot;point
454a0 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f er.to.non-byte-aligned.field&quo
454c0 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="
454e0 6c 69 6e 65 22 3e 20 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
45500 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 66 6f 6f 2e 62 3b 3c 2f 73 onst</span>.ptr.=.&amp;foo.b;</s
45520 70 61 6e 3e 0a 3c 73 70 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
45540 6e 20 63 6c 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
45560 63 74 28 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ct(ptr.*.==.<span.class="tok-num
45580 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">2</span>);</span>.<span.cla
455a0 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><
455c0 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
455e0 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>
45600 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">$.
45620 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 <kbd>zig.test.pointer_to_non-byt
45640 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e e_aligned_field.zig</kbd></span>
45660 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
45680 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 20 66 ot;pointer.to.non-byte-aligned.f
456a0 69 65 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 ield&quot;....OK</span>.<span.cl
456c0 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.</
456e0 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>....
45700 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 70 6f 69 6e 74 65 ...<p>.......However,.the.pointe
45720 72 20 74 6f 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 20 68 61 r.to.a.non-byte-aligned.field.ha
45740 73 20 73 70 65 63 69 61 6c 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 63 61 6e 6e 6f 74 0a s.special.properties.and.cannot.
45760 20 20 20 20 20 20 62 65 20 70 61 73 73 65 64 20 77 68 65 6e 20 61 20 6e 6f 72 6d 61 6c 20 70 6f ......be.passed.when.a.normal.po
45780 69 6e 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 inter.is.expected:.......</p>...
457a0 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
457c0 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.
457e0 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
45800 65 3e 3c 73 70 61 6e 20 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
45820 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
45840 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</
45860 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
45880 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
458a0 6e 20 63 6c 61 73 73 3d 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-
458c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
458e0 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
45900 3d 22 6c 69 6e 65 22 3e 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
45920 65 22 3e 3c 73 70 61 6e 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
45940 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 6b pan>.BitField.=.<span.class="tok
45960 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">packed</span>.<span.class="
45980 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>.<
459a0 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 63 span.class="line">....a:.<span.c
459c0 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 6e lass="tok-type">u3</span>,</span
459e0 3e 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
45a00 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 73 n.class="tok-type">u3</span>,</s
45a20 70 61 6e 3e 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 3c pan>.<span.class="line">....c:.<
45a40 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 2c span.class="tok-type">u2</span>,
45a60 3c 2f 73 70 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
45a80 70 61 6e 3e 0a 3c 73 70 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>.
45aa0 3c 73 70 61 6e 20 63 6c 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="
45ac0 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 42 tok-kw">var</span>.bit_field.=.B
45ae0 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 6e itField{</span>.<span.class="lin
45b00 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 6d e">.....a.=.<span.class="tok-num
45b20 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 73 ber">1</span>,</span>.<span.clas
45b40 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 74 s="line">.....b.=.<span.class="t
45b60 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 61 ok-number">2</span>,</span>.<spa
45b80 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 6c n.class="line">.....c.=.<span.cl
45ba0 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 6e ass="tok-number">3</span>,</span
45bc0 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>.<
45be0 73 70 61 6e 20 63 6c 61 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.
45c00 63 6c 61 73 73 3d 22 6c 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
45c20 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
45c40 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 69 tr">&quot;pointer.to.non-bit-ali
45c60 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 3e gned.field&quot;</span>.{</span>
45c80 0a 3c 73 70 61 6e 20 63 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
45ca0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 ass="tok-kw">try</span>.expect(b
45cc0 61 72 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ar(&amp;bit_field.b).==.<span.cl
45ce0 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
45d00 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>.<
45d20 73 70 61 6e 20 63 6c 61 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.
45d40 63 6c 61 73 73 3d 22 6c 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
45d60 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"
45d80 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >bar</span>(x:.*<span.class="tok
45da0 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
45dc0 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">u3</span>).<span.class=
45de0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-type">u3</span>.{</span>.<s
45e00 70 61 6e 20 63 6c 61 73 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
45e20 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 2e 2a 3b 3c 2f 73 70 ="tok-kw">return</span>.x.*;</sp
45e40 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><
45e60 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
45e80 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
45ea0 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
45ec0 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.
45ee0 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
45f00 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_
45f20 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 33 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e tmp/test.zig:17:30:.</span><span
45f40 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
45f60 61 6e 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 2a an.class="t0_1">expected.type.'*
45f80 63 6f 6e 73 74 20 75 33 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 67 6e 28 3a 33 3a 31 29 20 75 const.u3',.found.'*align(:3:1).u
45fa0 33 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 3'</span></span>.<span.class="li
45fc0 6e 65 22 3e 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 62 61 72 28 26 61 6d 70 3b 62 69 74 5f ne">....try.expect(bar(&amp;bit_
45fe0 66 69 65 6c 64 2e 62 29 20 3d 3d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 field.b).==.2);</span>.<span.cla
46000 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">......................
46020 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
46040 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
46060 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 61 73 65 2c 20 >.......<p>.......In.this.case,.
46080 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 the.function.<code><span.class="
460a0 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 62 line">bar</span></code>.cannot.b
460c0 65 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 70 6f 69 6e 74 65 72 0a 20 20 20 e.called.because.the.pointer....
460e0 20 20 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 20 ...to.the.non-ABI-aligned.field.
46100 6d 65 6e 74 69 6f 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 2c 20 62 75 74 20 74 68 65 mentions.the.bit.offset,.but.the
46120 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 20 61 6e 20 41 42 49 2d 61 6c 69 67 6e 65 64 .function.expects.an.ABI-aligned
46140 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 3c 70 3e 0a 20 .pointer........</p>.......<p>..
46160 20 20 20 20 20 50 6f 69 6e 74 65 72 73 20 74 6f 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 .....Pointers.to.non-ABI-aligned
46180 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 64 64 72 65 73 73 20 61 .fields.share.the.same.address.a
461a0 73 20 74 68 65 20 6f 74 68 65 72 20 66 69 65 6c 64 73 20 77 69 74 68 69 6e 20 74 68 65 69 72 20 s.the.other.fields.within.their.
461c0 68 6f 73 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c host.integer:.......</p>.......<
461e0 66 69 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
46200 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 74 6f p"><cite.class="file">pointer_to
46220 5f 6e 6f 6e 2d 62 69 74 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 _non-bit_aligned_field.zig</cite
46240 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
46260 6c 61 73 73 3d 22 6c 69 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"
46280 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=
462a0 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
462c0 61 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
462e0 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="
46300 6c 69 6e 65 22 3e 3c 73 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
46320 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
46340 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"><
46360 2f 73 70 61 6e 3e 0a 3c 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.
46380 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 class="tok-kw">const</span>.BitF
463a0 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b ield.=.<span.class="tok-kw">pack
463c0 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 ed</span>.<span.class="tok-kw">s
463e0 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
46400 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
46420 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u3</span>,</span>.<span.c
46440 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 22 lass="line">....b:.<span.class="
46460 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tok-type">u3</span>,</span>.<spa
46480 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 n.class="line">....c:.<span.clas
464a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c s="tok-type">u2</span>,</span>.<
464c0 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
464e0 6e 20 63 6c 61 73 73 3d 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
46500 73 73 3d 22 6c 69 6e 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
46520 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c ar</span>.bit_field.=.BitField{<
46540 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 /span>.<span.class="line">.....a
46560 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
46580 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">
465a0 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .....b.=.<span.class="tok-number
465c0 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">2</span>,</span>.<span.class="
465e0 6c 69 6e 65 22 3e 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d line">.....c.=.<span.class="tok-
46600 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">3</span>,</span>.<span.c
46620 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
46640 73 3d 22 6c 69 6e 65 22 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
46660 6e 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
46680 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
466a0 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c ;pointer.to.non-bit-aligned.fiel
466c0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>.{</span>.<span.cl
466e0 61 73 73 3d 22 6c 69 6e 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-
46700 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
46720 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 70 61 6e 3e s="tok-builtin">@ptrToInt</span>
46740 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 (&amp;bit_field.a).==.<span.clas
46760 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 70 61 6e 3e s="tok-builtin">@ptrToInt</span>
46780 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 (&amp;bit_field.b));</span>.<spa
467a0 6e 20 63 6c 61 73 73 3d 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="
467c0 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.
467e0 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
46800 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 3c 73 70 61 6e 20 pan>(&amp;bit_field.a).==.<span.
46820 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
46840 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 63 29 29 3b 3c 2f 73 70 61 6e 3e 0a pan>(&amp;bit_field.c));</span>.
46860 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
46880 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
468a0 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
468c0 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=
468e0 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 74 "line">$.<kbd>zig.test.pointer_t
46900 6f 5f 6e 6f 6e 2d 62 69 74 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 o_non-bit_aligned_field.zig</kbd
46920 3e 3c 2f 73 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.
46940 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 69 74 2d 61 6c test.&quot;pointer.to.non-bit-al
46960 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 3e 0a 3c igned.field&quot;....OK</span>.<
46980 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 61 span.class="line">All.1.tests.pa
469a0 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
469c0 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 63 61 6e 20 62 65 20 re>.......<p>.......This.can.be.
469e0 6f 62 73 65 72 76 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 observed.with.<a.href="#bitOffse
46a00 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 tOf">@bitOffsetOf</a>.and.<a.hre
46a20 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 3a 0a 20 20 20 20 f="#offsetOf">offsetOf</a>:.....
46a40 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
46a60 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
46a80 6c 65 22 3e 74 65 73 74 5f 62 69 74 4f 66 66 73 65 74 4f 66 5f 6f 66 66 73 65 74 4f 66 2e 7a 69 le">test_bitOffsetOf_offsetOf.zi
46aa0 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>
46ac0 3c 73 70 61 6e 20 63 6c 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="
46ae0 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
46b00 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
46b20 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;
46b40 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.
46b60 63 6c 61 73 73 3d 22 6c 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
46b80 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
46ba0 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="
46bc0 6c 69 6e 65 22 3e 3c 2f 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"
46be0 3e 3c 73 70 61 6e 20 63 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
46c00 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 6b 2d 6b n>.BitField.=.<span.class="tok-k
46c20 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
46c40 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
46c60 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
46c80 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 6e 3e 0a ss="tok-type">u3</span>,</span>.
46ca0 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 20 <span.class="line">....b:.<span.
46cc0 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
46ce0 6e 3e 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 3c 73 70 n>.<span.class="line">....c:.<sp
46d00 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 2c 3c 2f an.class="tok-type">u2</span>,</
46d20 73 70 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
46d40 6e 3e 0a 3c 73 70 61 6e 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
46d60 70 61 6e 20 63 6c 61 73 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
46d80 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
46da0 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 6f 6e 2d 62 69 74 ok-str">&quot;pointer.to.non-bit
46dc0 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 3e 20 7b 3c 2f 73 -aligned.field&quot;</span>.{</s
46de0 70 61 6e 3e 0a 3c 73 70 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
46e00 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>
46e20 20 7b 3c 2f 73 70 61 6e 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">...
46e40 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
46e60 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
46e80 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 ltin">@bitOffsetOf</span>(BitFie
46ea0 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;
46ec0 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 a&quot;</span>).==.<span.class="
46ee0 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
46f00 70 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
46f20 6c 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(
46f40 3c 73 70 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 <span.class="tok-builtin">@bitOf
46f60 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c fsetOf</span>(BitField,.<span.cl
46f80 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 ass="tok-str">&quot;b&quot;</spa
46fa0 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).==.<span.class="tok-number">
46fc0 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
46fe0 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
47000 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=
47020 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 61 6e "tok-builtin">@bitOffsetOf</span
47040 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 >(BitField,.<span.class="tok-str
47060 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e ">&quot;c&quot;</span>).==.<span
47080 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 29 3b 3c 2f .class="tok-number">6</span>);</
470a0 73 70 61 6e 3e 0a 3c 73 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>
470c0 0a 3c 73 70 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
470e0 6e 20 63 6c 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
47100 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 6f 66 ct(<span.class="tok-builtin">@of
47120 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c fsetOf</span>(BitField,.<span.cl
47140 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 ass="tok-str">&quot;a&quot;</spa
47160 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).==.<span.class="tok-number">
47180 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
471a0 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
471c0 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=
471e0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 "tok-builtin">@offsetOf</span>(B
47200 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 itField,.<span.class="tok-str">&
47220 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c quot;b&quot;</span>).==.<span.cl
47240 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
47260 6e 3e 0a 3c 73 70 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
47280 70 61 6e 20 63 6c 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
472a0 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pect(<span.class="tok-builtin">@
472c0 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 offsetOf</span>(BitField,.<span.
472e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 class="tok-str">&quot;c&quot;</s
47300 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>).==.<span.class="tok-number
47320 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 3d ">0</span>);</span>.<span.class=
47340 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=
47360 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
47380 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="
473a0 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
473c0 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
473e0 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 62 69 74 4f 66 66 73 65 74 4f 66 5f 6f 66 66 73 d>zig.test.test_bitOffsetOf_offs
47400 65 74 4f 66 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 etOf.zig</kbd></span>.<span.clas
47420 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 6f 69 6e 74 65 72 20 s="line">1/1.test.&quot;pointer.
47440 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 2e 2e to.non-bit-aligned.field&quot;..
47460 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
47480 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
474a0 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>......
474c0 20 50 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 68 61 76 65 20 31 2d 62 79 74 65 20 61 6c 69 67 .Packed.structs.have.1-byte.alig
474e0 6e 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 6e 20 6f 76 nment..However.if.you.have.an.ov
47500 65 72 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 70 61 63 6b 65 64 20 73 74 eraligned.pointer.to.a.packed.st
47520 72 75 63 74 2c 0a 20 20 20 20 20 20 5a 69 67 20 73 68 6f 75 6c 64 20 63 6f 72 72 65 63 74 6c 79 ruct,.......Zig.should.correctly
47540 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 66 69 65 .understand.the.alignment.of.fie
47560 6c 64 73 2e 20 48 6f 77 65 76 65 72 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 3c 61 20 68 lds..However.there.is.......<a.h
47580 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 6e 67 2f ref="https://github.com/ziglang/
475a0 7a 69 67 2f 69 73 73 75 65 73 2f 31 39 39 34 22 3e 61 20 62 75 67 3c 2f 61 3e 3a 0a 20 20 20 20 zig/issues/1994">a.bug</a>:.....
475c0 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
475e0 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
47600 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 3e le">test.zig</cite></figcaption>
47620 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
47640 70 61 6e 20 63 6c 61 73 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>.
47660 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c S.=.<span.class="tok-kw">packed<
47680 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 /span>.<span.class="tok-kw">stru
476a0 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct</span>.{</span>.<span.class="
476c0 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 line">....a:.<span.class="tok-ty
476e0 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 61 pe">u32</span>,</span>.<span.cla
47700 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ss="line">....b:.<span.class="to
47720 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">u32</span>,</span>.<span
47740 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
47760 61 73 73 3d 22 6c 69 6e 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">
47780 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
477a0 22 3e 26 71 75 6f 74 3b 6f 76 65 72 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 ">&quot;overaligned.pointer.to.p
477c0 61 63 6b 65 64 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 acked.struct&quot;</span>.{</spa
477e0 6e 3e 0a 3c 73 70 61 6e 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.
47800 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 53 class="tok-kw">var</span>.foo:.S
47820 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 .<span.class="tok-kw">align</spa
47840 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
47860 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 6c 6c 22 3e 75 pan>).=.<span.class="tok-null">u
47880 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ndefined</span>;</span>.<span.cl
478a0 61 73 73 3d 22 6c 69 6e 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-
478c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.ptr:.*<span.cla
478e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 ss="tok-kw">align</span>(<span.c
47900 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 53 20 3d 20 lass="tok-number">4</span>).S.=.
47920 26 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 &amp;foo;</span>.<span.class="li
47940 6e 65 22 3e 20 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
47960 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 5f 74 6f 5f 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 st</span>.ptr_to_b:.*<span.class
47980 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 26 61 6d 70 3b 70 74 ="tok-type">u32</span>.=.&amp;pt
479a0 72 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 22 3e 20 r.b;</span>.<span.class="line">.
479c0 20 20 20 5f 20 3d 20 70 74 72 5f 74 6f 5f 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ..._.=.ptr_to_b;</span>.<span.cl
479e0 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>
47a00 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
47a20 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
47a40 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">$
47a60 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
47a80 70 61 6e 3e 0a 3c 73 70 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
47aa0 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
47ac0 3a 38 3a 33 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 :8:32:.</span><span.class="t31_1
47ae0 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_
47b00 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 75 33 32 27 2c 20 66 6f 75 6e 64 20 27 1">expected.type.'*u32',.found.'
47b20 2a 61 6c 69 67 6e 28 31 29 20 75 33 32 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 *align(1).u32'</span></span>.<sp
47b40 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 5f 74 6f an.class="line">....const.ptr_to
47b60 5f 62 3a 20 2a 75 33 32 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 _b:.*u32.=.&amp;ptr.b;</span>.<s
47b80 70 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">...............
47ba0 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
47bc0 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
47be0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 74 68 69 73 20 62 75 ></figure>.......<p>When.this.bu
47c00 67 20 69 73 20 66 69 78 65 64 2c 20 74 68 65 20 61 62 6f 76 65 20 74 65 73 74 20 69 6e 20 74 68 g.is.fixed,.the.above.test.in.th
47c20 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 6c 6c 20 75 6e 65 78 70 65 63 74 65 64 6c e.documentation.will.unexpectedl
47c40 79 20 70 61 73 73 2c 20 77 68 69 63 68 20 77 69 6c 6c 0a 20 20 20 20 20 20 63 61 75 73 65 20 74 y.pass,.which.will.......cause.t
47c60 68 65 20 74 65 73 74 20 73 75 69 74 65 20 74 6f 20 66 61 69 6c 2c 20 6e 6f 74 69 66 79 69 6e 67 he.test.suite.to.fail,.notifying
47c80 20 74 68 65 20 62 75 67 20 66 69 78 65 72 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 73 65 20 64 .the.bug.fixer.to.update.these.d
47ca0 6f 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ocs........</p>.......<p>.......
47cc0 49 74 27 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 65 74 20 61 6c 69 67 6e 6d It's.also.possible.to.set.alignm
47ce0 65 6e 74 20 6f 66 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e ent.of.struct.fields:.......</p>
47d00 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
47d20 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
47d40 73 74 5f 61 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 63 69 st_aligned_struct_fields.zig</ci
47d60 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
47d80 20 63 6c 61 73 73 3d 22 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
47da0 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
47dc0 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>(<
47de0 73 70 61 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
47e00 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
47e20 3d 22 6c 69 6e 65 22 3e 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
47e40 73 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 st</span>.expectEqual.=.std.test
47e60 69 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 ing.expectEqual;</span>.<span.cl
47e80 61 73 73 3d 22 6c 69 6e 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="
47ea0 6c 69 6e 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<
47ec0 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
47ee0 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 75 6f 74 3b 3c 2f ot;aligned.struct.fields&quot;</
47f00 73 70 61 6e 3e 20 7b 3c 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
47f20 22 3e 20 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
47f40 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 77 22 </span>.S.=.<span.class="tok-kw"
47f60 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
47f80 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
47fa0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-type">u32</span>.<span.cl
47fc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ass="tok-kw">align</span>(<span.
47fe0 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 2c 3c 2f 73 class="tok-number">2</span>),</s
48000 70 61 6e 3e 0a 3c 73 70 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">........
48020 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 2f 73 b:.<span.class="tok-type">u32</s
48040 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 67 6e 3c pan>.<span.class="tok-kw">align<
48060 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e /span>(<span.class="tok-number">
48080 36 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 64</span>),</span>.<span.class="
480a0 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=
480c0 22 6c 69 6e 65 22 3e 20 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">
480e0 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 53 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 var</span>.foo.=.S{..a.=.<span.c
48100 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 62 20 3d lass="tok-number">1</span>,..b.=
48120 20 3c 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
48140 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">
48160 3c 2f 73 70 61 6e 3e 0a 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">....<
48180 73 70 61 6e 20 63 6c 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
481a0 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 xpectEqual(<span.class="tok-numb
481c0 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d er">64</span>,.<span.class="tok-
481e0 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 53 29 29 3b 3c 2f 73 builtin">@alignOf</span>(S));</s
48200 70 61 6e 3e 0a 3c 73 70 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
48220 6e 20 63 6c 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
48240 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c ctEqual(*<span.class="tok-kw">al
48260 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 6d 62 ign</span>(<span.class="tok-numb
48280 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 er">2</span>).<span.class="tok-t
482a0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u32</span>,.<span.class="to
482c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 k-builtin">@TypeOf</span>(&amp;f
482e0 6f 6f 2e 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 69 6e 65 oo.a));</span>.<span.class="line
48300 22 3e 20 20 20 20 3c 73 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</
48320 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="
48340 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
48360 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ="tok-number">64</span>).<span.c
48380 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-type">u32</span>,.<spa
483a0 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
483c0 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 62 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>(&amp;foo.b));</span>.<span.
483e0 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
48400 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
48420 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
48440 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"
48460 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6c 69 67 6e 65 64 5f 73 74 >$.<kbd>zig.test.test_aligned_st
48480 72 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ruct_fields.zig</kbd></span>.<sp
484a0 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 61 an.class="line">1/1.test.&quot;a
484c0 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b ligned.struct.fields&quot;....OK
484e0 3c 2f 73 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
48500 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
48520 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 69 re></figure>.......<p>.......Usi
48540 6e 67 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 ng.packed.structs.with.<a.href="
48560 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 20 69 73 20 70 72 6f 62 6c #volatile">volatile</a>.is.probl
48580 65 6d 61 74 69 63 2c 20 61 6e 64 20 6d 61 79 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ematic,.and.may.be.a.compile.err
485a0 6f 72 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 64 65 74 61 or.in.the.future........For.deta
485c0 69 6c 73 20 6f 6e 20 74 68 69 73 20 73 75 62 73 63 72 69 62 65 20 74 6f 0a 20 20 20 20 20 20 3c ils.on.this.subscribe.to.......<
485e0 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
48600 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 37 36 31 22 3e 74 68 69 73 20 69 73 73 75 65 3c 2f ng/zig/issues/1761">this.issue</
48620 61 3e 2e 0a 20 20 20 20 20 20 54 4f 44 4f 20 75 70 64 61 74 65 20 74 68 65 73 65 20 64 6f 63 73 a>........TODO.update.these.docs
48640 20 77 69 74 68 20 61 20 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f .with.a.recommendation.on.how.to
48660 20 75 73 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 20 4d 4d 49 4f 0a 20 20 .use.packed.structs.with.MMIO...
48680 20 20 20 20 28 74 68 65 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 76 6f 6c 61 74 69 6c 65 20 70 ....(the.use.case.for.volatile.p
486a0 61 63 6b 65 64 20 73 74 72 75 63 74 73 29 20 6f 6e 63 65 20 74 68 69 73 20 69 73 73 75 65 20 69 acked.structs).once.this.issue.i
486c0 73 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 44 6f 6e 27 74 20 77 6f 72 72 79 2c 20 74 s.resolved........Don't.worry,.t
486e0 68 65 72 65 20 77 69 6c 6c 20 62 65 20 61 20 67 6f 6f 64 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 here.will.be.a.good.solution.for
48700 20 74 68 69 73 20 75 73 65 20 63 61 73 65 20 69 6e 20 7a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 .this.use.case.in.zig........</p
48720 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 74 72 75 63 74 2d 4e >...............<h3.id="Struct-N
48740 61 6d 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 74 aming"><a.href="nav.xhtml#toc-St
48760 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 3c ruct-Naming">Struct.Naming</a>.<
48780 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 69 a.class="hdr".href="#Struct-Nami
487a0 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 20 ng">..</a></h3>........<p>Since.
487c0 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 69 all.structs.are.anonymous,.Zig.i
487e0 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 66 nfers.the.type.name.based.on.a.f
48800 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 20 ew.rules.</p>.......<ul>........
48820 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 69 ...<li>If.the.struct.is.in.the.i
48840 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 61 nitialization.expression.of.a.va
48860 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 20 riable,.it.gets.named.after.....
48880 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 20 ......that.variable.</li>.......
488a0 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.
488c0 3c 63 6f 64 65 3e 3c 73 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
488e0 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
48900 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 61 n></code>.expression,.it.gets.na
48920 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 6e med.after...........the.function
48940 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 20 .it.is.returning.from,.with.the.
48960 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 69 parameter.values.serialized.</li
48980 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 73 >...........<li>Otherwise,.the.s
489a0 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 3e truct.gets.a.name.such.as.<code>
489c0 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 3a (anonymous.struct.at.file.zig:7:
489e0 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 20 38)</code>.</li>.......</ul>....
48a00 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
48a20 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 74 g-cap"><cite.class="file">struct
48a40 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 72 _name.zig</cite></figcaption><pr
48a60 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
48a80 20 63 6c 61 73 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
48aa0 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
48ac0 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
48ae0 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
48b00 3e 0a 3c 73 70 61 6e 20 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
48b20 61 6e 20 63 6c 61 73 73 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
48b40 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
48b60 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-
48b80 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fn">main</span>().<span.class="t
48ba0 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
48bc0 70 61 6e 20 63 6c 61 73 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
48be0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 ="tok-kw">const</span>.Foo.=.<sp
48c00 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>.
48c20 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">..
48c40 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
48c60 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 75 ok-str">&quot;variable:.{s}\n&qu
48c80 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 62 ot;</span>,..{<span.class="tok-b
48ca0 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 3b uiltin">@typeName</span>(Foo)});
48cc0 3c 2f 73 70 61 6e 3e 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
48ce0 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-
48d00 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 74 str">&quot;anonymous:.{s}\n&quot
48d20 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
48d40 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
48d60 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 3b ss="tok-kw">struct</span>.{})});
48d80 3c 2f 73 70 61 6e 3e 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
48da0 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-
48dc0 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 3b str">&quot;function:.{s}\n&quot;
48de0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c </span>,..{<span.class="tok-buil
48e00 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 6e tin">@typeName</span>(List(<span
48e20 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 29 .class="tok-type">i32</span>))})
48e40 3b 3c 2f 73 70 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
48e60 70 61 6e 3e 0a 3c 73 70 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>.
48e80 3c 73 70 61 6e 20 63 6c 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="
48ea0 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
48ec0 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 22 ok-fn">List</span>(<span.class="
48ee0 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
48f00 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>).<
48f20 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
48f40 3e 20 7b 3c 2f 73 70 61 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">..
48f60 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
48f80 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 pan>.<span.class="tok-kw">struct
48fa0 3c 2f 73 70 61 6e 3e 20 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
48fc0 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 63 ne">........x:.T,</span>.<span.c
48fe0 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.
49000 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
49020 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
49040 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
49060 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"
49080 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 6d >$.<kbd>zig.build-exe.struct_nam
490a0 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="
490c0 6c 69 6e 65 22 3e 3c 2f 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"
490e0 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 61 >$.<kbd>./struct_name</kbd></spa
49100 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 20 n>.<span.class="line">variable:.
49120 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 6e Foo</span>.<span.class="line">an
49140 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 61 onymous:.struct:6:53</span>.<spa
49160 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 33 n.class="line">function:.List(i3
49180 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 3e 2)</span>.</samp></pre></figure>
491a0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 ...............<h3.id="Anonymous
491c0 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 6e 61 76 2e 78 -Struct-Literals"><a.href="nav.x
491e0 68 74 6d 6c 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 html#toc-Anonymous-Struct-Litera
49200 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 ls">Anonymous.Struct.Literals</a
49220 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 >.<a.class="hdr".href="#Anonymou
49240 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a s-Struct-Literals">..</a></h3>..
49260 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 6f 6d 69 74 74 ......<p>.......Zig.allows.omitt
49280 69 6e 67 20 74 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 6f 66 20 61 20 6c 69 74 65 72 61 6c ing.the.struct.type.of.a.literal
492a0 2e 20 57 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 54 ..When.the.result.is.<a.href="#T
492c0 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 2c 0a 20 20 20 20 20 ype-Coercion">coerced</a>,......
492e0 20 74 68 65 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 20 77 69 6c 6c 20 64 69 72 65 63 74 6c .the.struct.literal.will.directl
49300 79 20 69 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f y.instantiate.the.result.locatio
49320 6e 2c 20 77 69 74 68 20 6e 6f 20 63 6f 70 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 n,.with.no.copy:.......</p>.....
49340 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
49360 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 74 5f -cap"><cite.class="file">struct_
49380 72 65 73 75 6c 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 result.zig</cite></figcaption><p
493a0 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
493c0 6e 20 63 6c 61 73 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
493e0 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
49400 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
49420 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
49440 6e 3e 0a 3c 73 70 61 6e 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
49460 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.=
49480 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
494a0 6e 20 63 6c 61 73 73 3d 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
494c0 73 73 3d 22 6c 69 6e 65 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
494e0 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=
49500 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 78 3a 20 3c 73 70 61 6e "tok-kw">struct</span>.{x:.<span
49520 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 79 3a .class="tok-type">i32</span>,.y:
49540 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
49560 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>};</span>.<span.class="line"><
49580 2f 73 70 61 6e 3e 0a 3c 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.
495a0 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
495c0 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
495e0 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f .struct.literal&quot;</span>.{</
49600 73 70 61 6e 3e 0a 3c 73 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
49620 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 74 3a an.class="tok-kw">var</span>.pt:
49640 20 50 6f 69 6e 74 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 .Point.=..{</span>.<span.class="
49660 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">.........x.=.<span.class="
49680 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">13</span>,</span>.<s
496a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 pan.class="line">.........y.=.<s
496c0 70 61 6e 20 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 pan.class="tok-number">67</span>
496e0 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">....
49700 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">...
49720 20 3c 73 70 61 6e 20 63 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>
49740 20 65 78 70 65 63 74 28 70 74 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .expect(pt.x.==.<span.class="tok
49760 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">13</span>);</span>.<spa
49780 6e 20 63 6c 61 73 73 3d 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="
497a0 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 2e 79 20 3d tok-kw">try</span>.expect(pt.y.=
497c0 3d 20 3c 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 37 3c 2f 73 =.<span.class="tok-number">67</s
497e0 70 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"
49800 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><
49820 66 69 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-
49840 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
49860 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.
49880 74 65 73 74 20 73 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 test.struct_result.zig</kbd></sp
498a0 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.
498c0 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 26 71 &quot;anonymous.struct.literal&q
498e0 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
49900 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>.
49920 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>
49940 0a 20 20 20 20 20 20 54 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 63 61 6e 20 62 65 20 69 6e .......The.struct.type.can.be.in
49960 66 65 72 72 65 64 2e 20 48 65 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e ferred..Here.the.result.location
49980 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 20 74 79 70 65 2c 20 61 6e 64 0a 20 20 .does.not.include.a.type,.and...
499a0 20 20 20 20 73 6f 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 ....so.Zig.infers.the.type:.....
499c0 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
499e0 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
49a00 6c 65 22 3e 73 74 72 75 63 74 5f 61 6e 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 le">struct_anon.zig</cite></figc
49a20 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
49a40 69 6e 65 22 3e 3c 73 70 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<
49a60 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
49a80 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
49aa0 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
49ac0 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"><
49ae0 73 70 61 6e 20 63 6c 61 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>
49b00 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
49b20 70 61 6e 3e 0a 3c 73 70 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>.
49b40 3c 73 70 61 6e 20 63 6c 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="
49b60 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=
49b80 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 6f 75 73 20 "tok-str">&quot;fully.anonymous.
49ba0 73 74 72 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 3c 73 70 struct&quot;</span>.{</span>.<sp
49bc0 61 6e 20 63 6c 61 73 73 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=
49be0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 75 6d 70 28 2e 7b 3c 2f 73 70 61 "tok-kw">try</span>.dump(.{</spa
49c00 6e 3e 0a 3c 73 70 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 69 n>.<span.class="line">.........i
49c20 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 nt.=.<span.class="tok-builtin">@
49c40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 as</span>(<span.class="tok-type"
49c60 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 75 >u32</span>,.<span.class="tok-nu
49c80 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 3c 73 70 61 6e mber">1234</span>),</span>.<span
49ca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 6c 6f 61 74 20 3d 20 3c .class="line">.........float.=.<
49cc0 73 70 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
49ce0 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f an>(<span.class="tok-type">f64</
49d00 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">
49d20 31 32 2e 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 12.34</span>),</span>.<span.clas
49d40 73 3d 22 6c 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 s="line">.........b.=.<span.clas
49d60 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e s="tok-null">true</span>,</span>
49d80 0a 3c 73 70 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 20 3d .<span.class="line">.........s.=
49da0 20 3c 73 70 61 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&
49dc0 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 73 73 quot;</span>,</span>.<span.class
49de0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....});</span>.<span.cla
49e00 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="
49e20 6c 69 6e 65 22 3e 3c 2f 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"
49e40 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>.
49e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 75 6d 70 3c 2f 73 70 61 6e 3e <span.class="tok-fn">dump</span>
49e80 28 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 61 6e 79 74 (args:.<span.class="tok-kw">anyt
49ea0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ype</span>).!<span.class="tok-ty
49ec0 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
49ee0 6c 61 73 73 3d 22 6c 69 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
49f00 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 69 6e 74 20 -kw">try</span>.expect(args.int.
49f20 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
49f40 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
49f60 6e 65 22 3e 20 20 20 20 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
49f80 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 </span>.expect(args.float.==.<sp
49fa0 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
49fc0 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">.
49fe0 20 20 20 3c 73 70 61 6e 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
4a000 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n>.expect(args.b);</span>.<span.
4a020 63 6c 61 73 73 3d 22 6c 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
4a040 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 73 5b 3c k-kw">try</span>.expect(args.s[<
4a060 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>
4a080 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 68 27 3c 2f ].==.<span.class="tok-str">'h'</
4a0a0 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
4a0c0 22 3e 20 20 20 20 3c 73 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</
4a0e0 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 73 73 3d span>.expect(args.s[<span.class=
4a100 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 61 6e 20 "tok-number">1</span>].==.<span.
4a120 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 2f 73 70 class="tok-str">'i'</span>);</sp
4a140 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><
4a160 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
4a180 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
4a1a0 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
4a1c0 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 75 63 ass="line">$.<kbd>zig.test.struc
4a1e0 74 5f 61 6e 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 t_anon.zig</kbd></span>.<span.cl
4a200 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 66 75 6c 6c 79 20 ass="line">1/1.test.&quot;fully.
4a220 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 anonymous.struct&quot;....OK</sp
4a240 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
4a260 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><
4a280 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 6e 79 6d 6f /figure>.......<p>.......Anonymo
4a2a0 75 73 20 73 74 72 75 63 74 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 77 69 74 68 6f 75 us.structs.can.be.created.withou
4a2c0 74 20 73 70 65 63 69 66 79 69 6e 67 20 66 69 65 6c 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 61 72 t.specifying.field.names,.and.ar
4a2e0 65 20 72 65 66 65 72 72 65 64 20 74 6f 20 61 73 20 22 74 75 70 6c 65 73 22 2e 0a 20 20 20 20 20 e.referred.to.as."tuples".......
4a300 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 69 65 6c 64 73 .</p>.......<p>.......The.fields
4a320 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 6e 61 6d 65 64 20 75 73 69 6e 67 20 6e 75 6d 62 .are.implicitly.named.using.numb
4a340 65 72 73 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 30 2e 20 42 65 63 61 75 73 65 20 74 68 65 ers.starting.from.0..Because.the
4a360 69 72 20 6e 61 6d 65 73 20 61 72 65 20 69 6e 74 65 67 65 72 73 2c 0a 20 20 20 20 20 20 74 68 65 ir.names.are.integers,.......the
4a380 20 3c 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 .<code><span.class="line">@&quot
4a3a0 3b 30 26 71 75 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 6d 75 ;0&quot;</span></code>.syntax.mu
4a3c0 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 6d 2e 20 4e 61 6d 65 73 st.be.used.to.access.them..Names
4a3e0 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .inside.<code><span.class="line"
4a400 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 >@&quot;&quot;</span></code>.are
4a420 20 61 6c 77 61 79 73 20 72 65 63 6f 67 6e 69 73 65 64 20 61 73 20 69 64 65 6e 74 69 66 69 65 72 .always.recognised.as.identifier
4a440 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 4c 69 s........</p>.......<p>.......Li
4a460 6b 65 20 61 72 72 61 79 73 2c 20 74 75 70 6c 65 73 20 68 61 76 65 20 61 20 2e 6c 65 6e 20 66 69 ke.arrays,.tuples.have.a..len.fi
4a480 65 6c 64 2c 20 63 61 6e 20 62 65 20 69 6e 64 65 78 65 64 20 61 6e 64 20 20 77 6f 72 6b 20 77 69 eld,.can.be.indexed.and..work.wi
4a4a0 74 68 20 74 68 65 20 2b 2b 20 61 6e 64 20 2a 2a 20 6f 70 65 72 61 74 6f 72 73 2e 20 54 68 65 79 th.the.++.and.**.operators..They
4a4c0 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 69 74 65 72 61 74 65 64 20 6f 76 65 72 20 77 69 74 68 20 .can.also.be.iterated.over.with.
4a4e0 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 <a.href="#inline-for">inline.for
4a500 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c </a>........</p>.......<figure><
4a520 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
4a540 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 75 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f .class="file">tuple.zig</cite></
4a560 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
4a580 73 3d 22 6c 69 6e 65 22 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
4a5a0 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
4a5c0 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.
4a5e0 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;<
4a600 2f 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
4a620 65 22 3e 3c 73 70 61 6e 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
4a640 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
4a660 3b 3c 2f 73 70 61 6e 3e 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
4a680 61 6e 3e 0a 3c 73 70 61 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
4a6a0 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
4a6c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 3c ass="tok-str">&quot;tuple&quot;<
4a6e0 2f 73 70 61 6e 3e 20 7b 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
4a700 65 22 3e 20 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
4a720 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 73 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t</span>.values.=..{</span>.<spa
4a740 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
4a760 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
4a780 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 3c n.class="tok-type">u32</span>,.<
4a7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 span.class="tok-number">1234</sp
4a7c0 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 3e an>),</span>.<span.class="line">
4a7e0 20 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
4a800 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">@as</span>(<span.class="tok-ty
4a820 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">f64</span>,.<span.class="tok
4a840 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c -number">12.34</span>),</span>.<
4a860 73 70 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.
4a880 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
4a8a0 70 61 6e 3e 0a 3c 73 70 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">........
4a8c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 <span.class="tok-str">&quot;hi&q
4a8e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uot;</span>,</span>.<span.class=
4a900 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 2b 2b 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 "line">....}.++..{<span.class="t
4a920 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 ok-null">false</span>}.**.<span.
4a940 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 70 class="tok-number">2</span>;</sp
4a960 61 6e 3e 0a 3c 73 70 61 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
4a980 20 63 6c 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
4a9a0 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 t(values[<span.class="tok-number
4a9c0 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">0</span>].==.<span.class="tok-
4a9e0 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 70 number">1234</span>);</span>.<sp
4aa00 61 6e 20 63 6c 61 73 73 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=
4aa20 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 65 "tok-kw">try</span>.expect(value
4aa40 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 s[<span.class="tok-number">4</sp
4aa60 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 6c 6c 22 3e 66 an>].==.<span.class="tok-null">f
4aa80 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 alse</span>);</span>.<span.class
4aaa0 3d 22 6c 69 6e 65 22 3e 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"
4aac0 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >inline</span>.<span.class="tok-
4aae0 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 73 29 20 7c 76 2c 20 69 7c 20 7b kw">for</span>.(values).|v,.i|.{
4ab00 3c 2f 73 70 61 6e 3e 0a 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">.....
4ab20 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
4ab40 3e 20 28 69 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 >.(i.!=.<span.class="tok-number"
4ab60 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >2</span>).<span.class="tok-kw">
4ab80 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 20 63 6c continue</span>;</span>.<span.cl
4aba0 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="
4abc0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 29 3b 3c 2f 73 tok-kw">try</span>.expect(v);</s
4abe0 70 61 6e 3e 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
4ac00 70 61 6e 3e 0a 3c 73 70 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
4ac20 6e 20 63 6c 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
4ac40 63 74 28 76 61 6c 75 65 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ct(values.len.==.<span.class="to
4ac60 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 61 k-number">6</span>);</span>.<spa
4ac80 6e 20 63 6c 61 73 73 3d 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="
4aca0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 tok-kw">try</span>.expect(values
4acc0 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .@&quot;3&quot;[<span.class="tok
4ace0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -number">0</span>].==.<span.clas
4ad00 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a s="tok-str">'h'</span>);</span>.
4ad20 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
4ad40 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
4ad60 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
4ad80 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=
4ada0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 75 70 6c 65 2e 7a 69 67 "line">$.<kbd>zig.test.tuple.zig
4adc0 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"
4ade0 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f >1/1.test.&quot;tuple&quot;....O
4ae00 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.
4ae20 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></
4ae40 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 pre></figure>..............<p>Se
4ae60 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f e.also:</p><ul>.<li><a.href="#co
4ae80 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 69 3e 3c 61 mptime">comptime</a></li>.<li><a
4aea0 20 68 72 65 66 3d 22 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 .href="#fieldParentPtr">@fieldPa
4aec0 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 rentPtr</a></li>.</ul>..........
4aee0 20 20 20 20 20 3c 68 32 20 69 64 3d 22 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e .....<h2.id="enum"><a.href="nav.
4af00 78 68 74 6d 6c 23 74 6f 63 2d 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 xhtml#toc-enum">enum</a>.<a.clas
4af20 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e s="hdr".href="#enum">..</a></h2>
4af40 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
4af60 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 65 s="zig-cap"><cite.class="file">e
4af80 6e 75 6d 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 nums.zig</cite></figcaption><pre
4afa0 3e 3c 63 6f 64 65 3e 3c 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.
4afc0 63 6c 61 73 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
4afe0 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">@
4b000 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
4b020 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
4b040 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="
4b060 6c 69 6e 65 22 3e 3c 73 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
4b080 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.mem.=.<span.class="tok-b
4b0a0 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
4b0c0 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
4b0e0 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 an>).mem;</span>.<span.class="li
4b100 6e 65 22 3e 3c 2f 73 70 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"><
4b120 73 70 61 6e 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 span.class="tok-comment">//.Decl
4b140 61 72 65 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e are.an.enum.</span></span>.<span
4b160 20 63 6c 61 73 73 3d 22 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
4b180 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 w">const</span>.Type.=.<span.cla
4b1a0 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>
4b1c0 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 3c 2f 73 70 61 .<span.class="line">....ok,</spa
4b1e0 6e 3e 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 74 5f 6f 6b n>.<span.class="line">....not_ok
4b200 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">};</
4b220 73 70 61 6e 3e 0a 3c 73 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>
4b240 0a 3c 73 70 61 6e 20 63 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=
4b260 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 20 73 70 65 63 69 "tok-comment">//.Declare.a.speci
4b280 66 69 63 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65 20 65 6e 75 6d 20 76 61 72 69 61 6e 74 fic.instance.of.the.enum.variant
4b2a0 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
4b2c0 65 22 3e 3c 73 70 61 6e 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
4b2e0 70 61 6e 3e 20 63 20 3d 20 54 79 70 65 2e 6f 6b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan>.c.=.Type.ok;</span>.<span.c
4b300 6c 61 73 73 3d 22 6c 69 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=
4b320 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"
4b340 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 6f 72 >//.If.you.want.access.to.the.or
4b360 64 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2c 20 79 6f 75 3c 2f 73 70 61 dinal.value.of.an.enum,.you</spa
4b380 6e 3e 3c 2f 73 70 61 6e 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
4b3a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 73 70 an.class="tok-comment">//.can.sp
4b3c0 65 63 69 66 79 20 74 68 65 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ecify.the.tag.type.</span></span
4b3e0 3e 0a 3c 73 70 61 6e 20 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
4b400 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 20 3d 20 3c ="tok-kw">const</span>.Value.=.<
4b420 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>(
4b440 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>
4b460 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">..
4b480 20 20 7a 65 72 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ..zero,</span>.<span.class="line
4b4a0 22 3e 20 20 20 20 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 ">....one,</span>.<span.class="l
4b4c0 69 6e 65 22 3e 20 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 ine">....two,</span>.<span.class
4b4e0 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
4b500 69 6e 65 22 3e 3c 2f 73 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">
4b520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 77 <span.class="tok-comment">//.Now
4b540 20 79 6f 75 20 63 61 6e 20 63 61 73 74 20 62 65 74 77 65 65 6e 20 75 32 20 61 6e 64 20 56 61 6c .you.can.cast.between.u2.and.Val
4b560 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
4b580 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">/
4b5a0 2f 20 54 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 73 74 61 72 74 73 20 66 72 6f 6d 20 /.The.ordinal.value.starts.from.
4b5c0 30 2c 20 63 6f 75 6e 74 69 6e 67 20 75 70 20 66 6f 72 20 65 61 63 68 20 6d 65 6d 62 65 72 2e 3c 0,.counting.up.for.each.member.<
4b5e0 2f 73 70 61 6e 3e 3c 2f 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"
4b600 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
4b620 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e >.<span.class="tok-str">&quot;en
4b640 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c um.ordinal.value&quot;</span>.{<
4b660 2f 73 70 61 6e 3e 0a 3c 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
4b680 70 61 6e 20 63 6c 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
4b6a0 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pect(<span.class="tok-builtin">@
4b6c0 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 7a 65 72 6f 29 20 3d 3d 20 enumToInt</span>(Value.zero).==.
4b6e0 3c 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
4b700 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">..
4b720 20 20 3c 73 70 61 6e 20 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
4b740 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
4b760 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 2e 6f 6e 65 29 20 n">@enumToInt</span>(Value.one).
4b780 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
4b7a0 70 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"
4b7c0 3e 20 20 20 20 3c 73 70 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
4b7e0 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
4b800 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 2e 74 77 ltin">@enumToInt</span>(Value.tw
4b820 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 o).==.<span.class="tok-number">2
4b840 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
4b860 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">
4b880 3c 2f 73 70 61 6e 3e 0a 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
4b8a0 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 6e 20 .class="tok-comment">//.You.can.
4b8c0 6f 76 65 72 72 69 64 65 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 61 override.the.ordinal.value.for.a
4b8e0 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 n.enum.</span></span>.<span.clas
4b900 73 3d 22 6c 69 6e 65 22 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
4b920 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.Value2.=.<span.class=
4b940 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
4b960 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">u32</span>).{</span>
4b980 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 75 6e 64 72 65 64 20 .<span.class="line">....hundred.
4b9a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f =.<span.class="tok-number">100</
4b9c0 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"
4b9e0 3e 20 20 20 20 74 68 6f 75 73 61 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >....thousand.=.<span.class="tok
4ba00 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">1000</span>,</span>.<sp
4ba20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 69 6c 6c 69 6f 6e 20 3d 20 3c 73 an.class="line">....million.=.<s
4ba40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 30 30 30 3c 2f pan.class="tok-number">1000000</
4ba60 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"
4ba80 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
4baa0 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>.<
4bac0 73 70 61 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 65 74 20 65 span.class="tok-str">&quot;set.e
4bae0 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b num.ordinal.value&quot;</span>.{
4bb00 3c 2f 73 70 61 6e 3e 0a 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">....<
4bb20 73 70 61 6e 20 63 6c 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
4bb40 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">
4bb60 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 68 75 6e 64 72 65 64 @enumToInt</span>(Value2.hundred
4bb80 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
4bba0 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
4bbc0 69 6e 65 22 3e 20 20 20 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
4bbe0 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
4bc00 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
4bc20 65 32 2e 74 68 6f 75 73 61 6e 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e2.thousand).==.<span.class="tok
4bc40 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 -number">1000</span>);</span>.<s
4bc60 70 61 6e 20 63 6c 61 73 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
4bc80 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 ="tok-kw">try</span>.expect(<spa
4bca0 6e 20 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 n.class="tok-builtin">@enumToInt
4bcc0 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 6d 69 6c 6c 69 6f 6e 29 20 3d 3d 20 3c 73 70 61 6e </span>(Value2.million).==.<span
4bce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 30 30 30 3c 2f 73 70 61 .class="tok-number">1000000</spa
4bd00 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">}
4bd20 3c 2f 73 70 61 6e 3e 0a 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
4bd40 6e 3e 0a 3c 73 70 61 6e 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
4bd60 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 73 20 63 61 6e 20 68 61 76 s="tok-comment">//.Enums.can.hav
4bd80 65 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 73 74 72 75 63 74 73 20 61 e.methods,.the.same.as.structs.a
4bda0 6e 64 20 75 6e 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 nd.unions.</span></span>.<span.c
4bdc0 6c 61 73 73 3d 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
4bde0 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 20 6d 65 74 68 6f 64 73 20 61 72 65 20 6e 6f 74 20 73 70 ment">//.Enum.methods.are.not.sp
4be00 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c ecial,.they.are.only.namespaced<
4be20 2f 73 70 61 6e 3e 3c 2f 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"
4be40 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 66 75 ><span.class="tok-comment">//.fu
4be60 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 nctions.that.you.can.call.with.d
4be80 6f 74 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 ot.syntax.</span></span>.<span.c
4bea0 6c 61 73 73 3d 22 6c 69 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"
4bec0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 75 69 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 >const</span>.Suit.=.<span.class
4bee0 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>.<
4bf00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6c 75 62 73 2c 3c 2f 73 70 span.class="line">....clubs,</sp
4bf20 61 6e 3e 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 70 61 64 65 an>.<span.class="line">....spade
4bf40 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 s,</span>.<span.class="line">...
4bf60 20 64 69 61 6d 6f 6e 64 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .diamonds,</span>.<span.class="l
4bf80 69 6e 65 22 3e 20 20 20 20 68 65 61 72 74 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ine">....hearts,</span>.<span.cl
4bfa0 61 73 73 3d 22 6c 69 6e 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="
4bfc0 6c 69 6e 65 22 3e 20 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
4bfe0 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
4c000 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 n</span>.<span.class="tok-fn">is
4c020 43 6c 75 62 73 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 53 75 69 74 29 20 3c 73 70 61 6e 20 63 Clubs</span>(self:.Suit).<span.c
4c040 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">bool</span>.{</s
4c060 70 61 6e 3e 0a 3c 73 70 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">........
4c080 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
4c0a0 6e 3e 20 73 65 6c 66 20 3d 3d 20 53 75 69 74 2e 63 6c 75 62 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.self.==.Suit.clubs;</span>.<s
4c0c0 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
4c0e0 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
4c100 20 63 6c 61 73 73 3d 22 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
4c120 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-
4c140 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 str">&quot;enum.method&quot;</sp
4c160 61 6e 3e 20 7b 3c 2f 73 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">
4c180 20 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</
4c1a0 73 70 61 6e 3e 20 70 20 3d 20 53 75 69 74 2e 73 70 61 64 65 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 span>.p.=.Suit.spades;</span>.<s
4c1c0 70 61 6e 20 63 6c 61 73 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
4c1e0 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 70 2e 69 ="tok-kw">try</span>.expect(!p.i
4c200 73 43 6c 75 62 73 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 sClubs());</span>.<span.class="l
4c220 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"
4c240 3e 3c 2f 73 70 61 6e 3e 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
4c260 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 20 65 6e 75 6d n.class="tok-comment">//.An.enum
4c280 20 76 61 72 69 61 6e 74 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 73 20 63 61 6e 20 .variant.of.different.types.can.
4c2a0 62 65 20 73 77 69 74 63 68 65 64 20 75 70 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a be.switched.upon.</span></span>.
4c2c0 3c 73 70 61 6e 20 63 6c 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="
4c2e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.Foo.=.<span
4c300 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 .class="tok-kw">enum</span>.{</s
4c320 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 72 69 pan>.<span.class="line">....stri
4c340 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 69 6e 65 22 3e 20 20 ng,</span>.<span.class="line">..
4c360 20 20 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..number,</span>.<span.class="li
4c380 6e 65 22 3e 20 20 20 20 6e 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">....none,</span>.<span.class
4c3a0 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
4c3c0 69 6e 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</
4c3e0 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
4c400 74 3b 65 6e 75 6d 20 76 61 72 69 61 6e 74 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 t;enum.variant.switch&quot;</spa
4c420 6e 3e 20 7b 3c 2f 73 70 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">.
4c440 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
4c460 70 61 6e 3e 20 70 20 3d 20 46 6f 6f 2e 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 pan>.p.=.Foo.number;</span>.<spa
4c480 6e 20 63 6c 61 73 73 3d 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="
4c4a0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 68 61 74 5f 69 73 5f 69 74 20 tok-kw">const</span>.what_is_it.
4c4c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 =.<span.class="tok-kw">switch</s
4c4e0 70 61 6e 3e 20 28 70 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>.(p).{</span>.<span.class="l
4c500 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 73 74 72 69 6e 67 20 3d 26 67 74 3b 20 3c 73 ine">........Foo.string.=&gt;.<s
4c520 70 61 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
4c540 73 20 61 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s.a.string&quot;</span>,</span>.
4c560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e <span.class="line">........Foo.n
4c580 75 6d 62 65 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 umber.=&gt;.<span.class="tok-str
4c5a0 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c 2f ">&quot;this.is.a.number&quot;</
4c5c0 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"
4c5e0 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c >........Foo.none.=&gt;.<span.cl
4c600 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 6f ass="tok-str">&quot;this.is.a.no
4c620 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ne&quot;</span>,</span>.<span.cl
4c640 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
4c660 6c 61 73 73 3d 22 6c 69 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
4c680 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c -kw">try</span>.expect(mem.eql(<
4c6a0 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>,
4c6c0 20 77 68 61 74 5f 69 73 5f 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 .what_is_it,.<span.class="tok-st
4c6e0 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c r">&quot;this.is.a.number&quot;<
4c700 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
4c720 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">
4c740 3c 2f 73 70 61 6e 3e 0a 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
4c760 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e 66 .class="tok-comment">//.@typeInf
4c780 6f 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 69 6e 74 65 o.can.be.used.to.access.the.inte
4c7a0 67 65 72 20 74 61 67 20 74 79 70 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c ger.tag.type.of.an.enum.</span><
4c7c0 2f 73 70 61 6e 3e 0a 3c 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.
4c7e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c class="tok-kw">const</span>.Smal
4c800 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 l.=.<span.class="tok-kw">enum</s
4c820 70 61 6e 3e 20 7b 3c 2f 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"
4c840 3e 20 20 20 20 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 >....one,</span>.<span.class="li
4c860 6e 65 22 3e 20 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 ne">....two,</span>.<span.class=
4c880 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">....three,</span>.<span.c
4c8a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 75 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">....four,</span>.<sp
4c8c0 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.
4c8e0 63 6c 61 73 73 3d 22 6c 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
4c900 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
4c920 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 2e 6d 65 74 61 2e 54 61 67 26 71 75 6f 74 3b 3c 2f 73 70 tr">&quot;std.meta.Tag&quot;</sp
4c940 61 6e 3e 20 7b 3c 2f 73 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">
4c960 20 20 20 20 3c 73 70 61 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
4c980 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c an>.expect(<span.class="tok-buil
4c9a0 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e 75 tin">@typeInfo</span>(Small).Enu
4c9c0 6d 2e 74 61 67 5f 74 79 70 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 m.tag_type.==.<span.class="tok-t
4c9e0 79 70 65 22 3e 75 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 ype">u2</span>);</span>.<span.cl
4ca00 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=
4ca20 22 6c 69 6e 65 22 3e 3c 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
4ca40 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 40 "><span.class="tok-comment">//.@
4ca60 74 79 70 65 49 6e 66 6f 20 74 65 6c 6c 73 20 75 73 20 74 68 65 20 66 69 65 6c 64 20 63 6f 75 6e typeInfo.tells.us.the.field.coun
4ca80 74 20 61 6e 64 20 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f t.and.the.fields.names:</span></
4caa0 73 70 61 6e 3e 0a 3c 73 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
4cac0 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.
4cae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 79 70 65 49 6e 66 6f 26 class="tok-str">&quot;@typeInfo&
4cb00 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
4cb20 73 3d 22 6c 69 6e 65 22 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
4cb40 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=
4cb60 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 53 "tok-builtin">@typeInfo</span>(S
4cb80 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 mall).Enum.fields.len.==.<span.c
4cba0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-number">4</span>);</sp
4cbc0 61 6e 3e 0a 3c 73 70 61 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
4cbe0 20 63 6c 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
4cc00 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 t(mem.eql(<span.class="tok-type"
4cc20 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 62 75 69 >u8</span>,.<span.class="tok-bui
4cc40 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e ltin">@typeInfo</span>(Small).En
4cc60 75 6d 2e 66 69 65 6c 64 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 um.fields[<span.class="tok-numbe
4cc80 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 2e 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">1</span>].name,.<span.class="
4cca0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 tok-str">&quot;two&quot;</span>)
4ccc0 29 3b 3c 2f 73 70 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">}</
4cce0 73 70 61 6e 3e 0a 3c 73 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>
4cd00 0a 3c 73 70 61 6e 20 63 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=
4cd20 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 61 67 4e 61 6d 65 20 67 69 76 65 73 20 "tok-comment">//.@tagName.gives.
4cd40 61 20 5b 3a 30 5d 63 6f 6e 73 74 20 75 38 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 a.[:0]const.u8.representation.of
4cd60 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .an.enum.value:</span></span>.<s
4cd80 70 61 6e 20 63 6c 61 73 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
4cda0 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
4cdc0 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 70 ok-str">&quot;@tagName&quot;</sp
4cde0 61 6e 3e 20 7b 3c 2f 73 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">
4ce00 20 20 20 20 3c 73 70 61 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
4ce20 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="
4ce40 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>,.<span.class
4ce60 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 ="tok-builtin">@tagName</span>(S
4ce80 6d 61 6c 6c 2e 74 68 72 65 65 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mall.three),.<span.class="tok-st
4cea0 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 29 29 3b 3c 2f r">&quot;three&quot;</span>));</
4cec0 73 70 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
4cee0 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><
4cf00 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
4cf20 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.
4cf40 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 65 6e 75 class="line">$.<kbd>zig.test.enu
4cf60 6d 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 ms.zig</kbd></span>.<span.class=
4cf80 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6f 72 64 69 6e "line">1/7.test.&quot;enum.ordin
4cfa0 61 6c 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 73 70 61 al.value&quot;....OK</span>.<spa
4cfc0 6e 20 63 6c 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 73 65 n.class="line">2/7.test.&quot;se
4cfe0 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 3b 2e 2e 2e 20 4f 4b t.enum.ordinal.value&quot;....OK
4d000 3c 2f 73 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 37 20 74 </span>.<span.class="line">3/7.t
4d020 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f est.&quot;enum.method&quot;....O
4d040 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 34 2f 37 20 K</span>.<span.class="line">4/7.
4d060 74 65 73 74 20 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 71 test.&quot;enum.variant.switch&q
4d080 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
4d0a0 69 6e 65 22 3e 35 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 64 2e 6d 65 74 61 2e 54 61 67 ine">5/7.test.&quot;std.meta.Tag
4d0c0 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=
4d0e0 22 6c 69 6e 65 22 3e 36 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 40 74 79 70 65 49 6e 66 6f 26 "line">6/7.test.&quot;@typeInfo&
4d100 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="
4d120 6c 69 6e 65 22 3e 37 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 line">7/7.test.&quot;@tagName&qu
4d140 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
4d160 6e 65 22 3e 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 ne">All.7.tests.passed.</span>.<
4d180 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 /samp></pre></figure>.......<p>S
4d1a0 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 74 ee.also:</p><ul>.<li><a.href="#t
4d1c0 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 6c 69 3e ypeInfo">@typeInfo</a></li>.<li>
4d1e0 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 3c <a.href="#tagName">@tagName</a><
4d200 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 /li>.<li><a.href="#sizeOf">@size
4d220 4f 66 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 Of</a></li>.</ul>.........<h3.id
4d240 3d 22 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d ="extern-enum"><a.href="nav.xhtm
4d260 6c 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 2f l#toc-extern-enum">extern.enum</
4d280 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 2d a>.<a.class="hdr".href="#extern-
4d2a0 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 20 enum">..</a></h3>........<p>....
4d2c0 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 61 ...By.default,.enums.are.not.gua
4d2e0 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 68 ranteed.to.be.compatible.with.th
4d300 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 72 e.C.ABI:.......</p>.......<figur
4d320 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
4d340 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>
4d360 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
4d380 61 73 73 3d 22 6c 69 6e 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">
4d3a0 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="
4d3c0 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 3b tok-kw">enum</span>.{.a,.b,.c.};
4d3e0 3c 2f 73 70 61 6e 3e 0a 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
4d400 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
4d420 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
4d440 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 66 an.class="tok-fn">entry</span>(f
4d460 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 3e oo:.Foo).<span.class="tok-type">
4d480 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 3c void</span>.{._.=.foo;.}</span><
4d4a0 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
4d4c0 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
4d4e0 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
4d500 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.
4d520 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 73 test.zig</kbd></span>.<span.clas
4d540 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
4d560 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 3c cgen_tmp/test.zig:2:22:.</span><
4d580 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 6e span.class="t31_1">error:.</span
4d5a0 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 66 ><span.class="t0_1">parameter.of
4d5c0 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 74 .type.'Foo'.not.allowed.in.funct
4d5e0 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 3c ion.with.calling.convention.'C'<
4d600 2f 73 70 61 6e 3e 3c 2f 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"
4d620 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 20 >export.fn.entry(foo:.Foo).void.
4d640 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=
4d660 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
4d680 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>.
4d6a0 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>
4d6c0 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 6e .......For.a.C-ABI-compatible.en
4d6e0 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 65 um,.provide.an.explicit.tag.type
4d700 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 20 .to.......the.enum:.......</p>..
4d720 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="
4d740 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
4d760 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
4d780 64 65 3e 3c 73 70 61 6e 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
4d7a0 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
4d7c0 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>(<
4d7e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 span.class="tok-type">c_int</spa
4d800 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 6c n>).{.a,.b,.c.};</span>.<span.cl
4d820 61 73 73 3d 22 6c 69 6e 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">
4d840 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 6b export</span>.<span.class="tok-k
4d860 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
4d880 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 63 ">entry</span>(foo:.Foo).<span.c
4d8a0 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 20 lass="tok-type">void</span>.{._.
4d8c0 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 69 =.foo;.}</span></code></pre></fi
4d8e0 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="
4d900 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
4d920 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
4d940 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 2f d>zig.build-obj.test.zig</kbd></
4d960 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>....
4d980 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 73 ...........<h3.id="Enum-Literals
4d9a0 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 6e 75 6d 2d 4c 69 "><a.href="nav.xhtml#toc-Enum-Li
4d9c0 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 terals">Enum.Literals</a>.<a.cla
4d9e0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 ss="hdr".href="#Enum-Literals">.
4da00 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e 75 6d .</a></h3>........<p>.......Enum
4da20 20 6c 69 74 65 72 61 6c 73 20 61 6c 6c 6f 77 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e .literals.allow.specifying.the.n
4da40 61 6d 65 20 6f 66 20 61 6e 20 65 6e 75 6d 20 66 69 65 6c 64 20 77 69 74 68 6f 75 74 20 73 70 65 ame.of.an.enum.field.without.spe
4da60 63 69 66 79 69 6e 67 20 74 68 65 20 65 6e 75 6d 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 cifying.the.enum.type:.......</p
4da80 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
4daa0 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
4dac0 65 73 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 est_enum_literals.zig</cite></fi
4dae0 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=
4db00 22 6c 69 6e 65 22 3e 3c 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
4db20 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-
4db40 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
4db60 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
4db80 70 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"
4dba0 3e 3c 73 70 61 6e 20 63 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
4dbc0 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;<
4dbe0 2f 73 70 61 6e 3e 0a 3c 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
4dc00 3e 0a 3c 73 70 61 6e 20 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
4dc20 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.=.<
4dc40 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>.
4dc60 7b 3c 2f 73 70 61 6e 3e 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">....
4dc80 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">
4dca0 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
4dcc0 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
4dce0 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
4dd00 22 3e 3c 2f 73 70 61 6e 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
4dd20 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
4dd40 70 61 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
4dd60 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 iterals&quot;</span>.{</span>.<s
4dd80 70 61 6e 20 63 6c 61 73 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
4dda0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 31 3a 20 43 ="tok-kw">const</span>.color1:.C
4ddc0 6f 6c 6f 72 20 3d 20 2e 61 75 74 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 olor.=..auto;</span>.<span.class
4dde0 3d 22 6c 69 6e 65 22 3e 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"
4de00 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 32 20 3d 20 43 6f 6c 6f 72 2e 61 75 74 >const</span>.color2.=.Color.aut
4de20 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 o;</span>.<span.class="line">...
4de40 20 3c 73 70 61 6e 20 63 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>
4de60 20 65 78 70 65 63 74 28 63 6f 6c 6f 72 31 20 3d 3d 20 63 6f 6c 6f 72 32 29 3b 3c 2f 73 70 61 6e .expect(color1.==.color2);</span
4de80 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
4dea0 70 61 6e 20 63 6c 61 73 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
4dec0 6c 61 73 73 3d 22 6c 69 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"
4dee0 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
4df00 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 75 73 69 6e 67 20 65 6e 75 6d 20 6c 69 74 65 72 r">&quot;switch.using.enum.liter
4df20 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 als&quot;</span>.{</span>.<span.
4df40 63 6c 61 73 73 3d 22 6c 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
4df60 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 k-kw">const</span>.color.=.Color
4df80 2e 6f 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .on;</span>.<span.class="line">.
4dfa0 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
4dfc0 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
4dfe0 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e w">switch</span>.(color).{</span
4e000 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 75 >.<span.class="line">.........au
4e020 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e to.=&gt;.<span.class="tok-null">
4e040 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
4e060 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 ="line">.........on.=&gt;.<span.
4e080 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
4e0a0 70 61 6e 3e 0a 3c 73 70 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">........
4e0c0 2e 6f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c .off.=&gt;.<span.class="tok-null
4e0e0 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
4e100 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
4e120 61 73 73 3d 22 6c 69 6e 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-
4e140 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f kw">try</span>.expect(result);</
4e160 73 70 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
4e180 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><
4e1a0 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
4e1c0 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.
4e1e0 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
4e200 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e t_enum_literals.zig</kbd></span>
4e220 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 20 26 71 75 .<span.class="line">1/2.test.&qu
4e240 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 ot;enum.literals&quot;....OK</sp
4e260 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 20 an>.<span.class="line">2/2.test.
4e280 26 71 75 6f 74 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 &quot;switch.using.enum.literals
4e2a0 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=
4e2c0 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 2f 73 70 61 6e "line">All.2.tests.passed.</span
4e2e0 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>........
4e300 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e .......<h3.id="Non-exhaustive-en
4e320 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4e 6f 6e 2d 65 um"><a.href="nav.xhtml#toc-Non-e
4e340 78 68 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 xhaustive-enum">Non-exhaustive.e
4e360 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 6f num</a>.<a.class="hdr".href="#No
4e380 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a n-exhaustive-enum">..</a></h3>..
4e3a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 ......<p>.......A.Non-exhaustive
4e3c0 20 65 6e 75 6d 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 20 61 64 64 69 6e 67 20 61 .enum.can.be.created.by.adding.a
4e3e0 20 74 72 61 69 6c 69 6e 67 20 27 5f 27 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 49 74 20 20 6d .trailing.'_'.field........It..m
4e400 75 73 74 20 73 70 65 63 69 66 79 20 61 20 74 61 67 20 74 79 70 65 20 61 6e 64 20 63 61 6e 6e 6f ust.specify.a.tag.type.and.canno
4e420 74 20 63 6f 6e 73 75 6d 65 20 65 76 65 72 79 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 t.consume.every.enumeration.valu
4e440 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 61 e........</p>.......<p>.......<a
4e460 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 .href="#intToEnum">@intToEnum</a
4e480 3e 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 69 6e 76 6f 6c >.on.a.non-exhaustive.enum.invol
4e4a0 76 65 73 20 74 68 65 20 73 61 66 65 74 79 20 73 65 6d 61 6e 74 69 63 73 0a 20 20 20 20 20 20 6f ves.the.safety.semantics.......o
4e4c0 66 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 f.<a.href="#intCast">@intCast</a
4e4e0 3e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2c 20 62 75 74 20 62 >.to.the.integer.tag.type,.but.b
4e500 65 79 6f 6e 64 20 74 68 61 74 20 61 6c 77 61 79 73 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 eyond.that.always.results.in....
4e520 20 20 20 61 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 65 6e 75 6d 20 76 61 6c 75 65 2e 0a 20 20 ...a.well-defined.enum.value....
4e540 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 73 77 69 74 63 ....</p>.......<p>.......A.switc
4e560 68 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 69 h.on.a.non-exhaustive.enum.can.i
4e580 6e 63 6c 75 64 65 20 61 20 27 5f 27 20 70 72 6f 6e 67 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 nclude.a.'_'.prong.as.an.alterna
4e5a0 74 69 76 65 20 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 tive.to.an.<code><span.class="li
4e5c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 ne"><span.class="tok-kw">else</s
4e5e0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 0a 20 20 20 20 20 20 77 pan></span></code>.prong.......w
4e600 69 74 68 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 69 6e 67 20 74 68 61 74 20 69 74 ith.the.difference.being.that.it
4e620 20 6d 61 6b 65 73 20 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 61 6c 6c .makes.it.a.compile.error.if.all
4e640 20 74 68 65 20 6b 6e 6f 77 6e 20 74 61 67 20 6e 61 6d 65 73 20 61 72 65 20 6e 6f 74 20 68 61 6e .the.known.tag.names.are.not.han
4e660 64 6c 65 64 20 62 79 20 74 68 65 20 73 77 69 74 63 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 dled.by.the.switch........</p>..
4e680 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="
4e6a0 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
4e6c0 5f 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 63 69 74 65 _switch_non-exhaustive.zig</cite
4e6e0 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
4e700 6c 61 73 73 3d 22 6c 69 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"
4e720 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=
4e740 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
4e760 61 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
4e780 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="
4e7a0 6c 69 6e 65 22 3e 3c 73 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
4e7c0 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
4e7e0 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"><
4e800 2f 73 70 61 6e 3e 0a 3c 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.
4e820 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 class="tok-kw">const</span>.Numb
4e840 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 75 6d 3c 2f er.=.<span.class="tok-kw">enum</
4e860 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<
4e880 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
4e8a0 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 20 63 6c 61 73 73 3d ne">....one,</span>.<span.class=
4e8c0 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 70 61 6e 20 63 6c 61 "line">....two,</span>.<span.cla
4e8e0 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 6e 3e 0a 3c 73 70 61 ss="line">....three,</span>.<spa
4e900 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">...._,</span>.<sp
4e920 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.
4e940 63 6c 61 73 73 3d 22 6c 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
4e960 3d 22 6c 69 6e 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
4e980 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">&
4e9a0 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 65 20 65 6e quot;switch.on.non-exhaustive.en
4e9c0 75 6d 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 um&quot;</span>.{</span>.<span.c
4e9e0 6c 61 73 73 3d 22 6c 69 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
4ea00 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 4e 75 6d 62 65 -kw">const</span>.number.=.Numbe
4ea20 72 2e 6f 6e 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 r.one;</span>.<span.class="line"
4ea40 3e 20 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<
4ea60 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.result.=.<span.class="tok
4ea80 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 -kw">switch</span>.(number).{</s
4eaa0 70 61 6e 3e 0a 3c 73 70 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">........
4eac0 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c .one.=&gt;.<span.class="tok-null
4eae0 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">true</span>,</span>.<span.clas
4eb00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 s="line">.........two,</span>.<s
4eb20 70 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 74 68 72 65 65 20 pan.class="line">.........three.
4eb40 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c =&gt;.<span.class="tok-null">fal
4eb60 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c se</span>,</span>.<span.class="l
4eb80 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ine">........_.=&gt;.<span.class
4eba0 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>
4ebc0 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
4ebe0 3e 0a 3c 73 70 61 6e 20 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
4ec00 6c 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(
4ec20 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e result);</span>.<span.class="lin
4ec40 65 22 3e 20 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
4ec60 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 6f 6e 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.is_one.=.<span.class="t
4ec80 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c ok-kw">switch</span>.(number).{<
4eca0 2f 73 70 61 6e 3e 0a 3c 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">......
4ecc0 20 20 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ...one.=&gt;.<span.class="tok-nu
4ece0 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
4ed00 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="
4ed20 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.
4ed40 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>,</
4ed60 73 70 61 6e 3e 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">....};<
4ed80 2f 73 70 61 6e 3e 0a 3c 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
4eda0 70 61 6e 20 63 6c 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
4edc0 70 65 63 74 28 69 73 5f 6f 6e 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pect(is_one);</span>.<span.class
4ede0 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
4ee00 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=
4ee20 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
4ee40 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
4ee60 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 bd>zig.test.test_switch_non-exha
4ee80 75 73 74 69 76 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 ustive.zig</kbd></span>.<span.cl
4eea0 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 73 77 69 74 63 68 ass="line">1/1.test.&quot;switch
4eec0 20 6f 6e 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e .on.non-exhaustive.enum&quot;...
4eee0 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
4ef00 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>
4ef20 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 </pre></figure>.................
4ef40 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 .....<h2.id="union"><a.href="nav
4ef60 2e 78 68 74 6d 6c 23 74 6f 63 2d 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 .xhtml#toc-union">union</a>.<a.c
4ef80 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 a7 3c 2f 61 3e 3c lass="hdr".href="#union">..</a><
4efa0 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 72 65 20 3c 63 6f /h2>........<p>.......A.bare.<co
4efc0 64 65 3e 3c 73 70 61 6e 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
4efe0 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 70 61 6e 3e 3c 2f s="tok-kw">union</span></span></
4f000 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 73 69 62 6c 65 20 code>.defines.a.set.of.possible.
4f020 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 61 6e 20 62 65 20 types.that.a.value.......can.be.
4f040 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 6f 6e 65 20 66 69 as.a.list.of.fields..Only.one.fi
4f060 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 65 2e 0a 20 20 20 eld.can.be.active.at.a.time.....
4f080 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 61 74 69 6f 6e 20 ...The.in-memory.representation.
4f0a0 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 61 6e 74 65 65 64 of.bare.unions.is.not.guaranteed
4f0c0 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 20 62 65 20 75 73 ........Bare.unions.cannot.be.us
4f0e0 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 46 6f 72 20 74 68 ed.to.reinterpret.memory..For.th
4f100 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 3e 40 70 74 72 43 at,.use.<a.href="#ptrCast">@ptrC
4f120 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 61 20 68 72 65 66 ast</a>,.......or.use.an.<a.href
4f140 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 ="#extern-union">extern.union</a
4f160 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 69 6f 6e 22 3e 70 >.or.a.<a.href="#packed-union">p
4f180 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 0a 20 20 20 20 20 acked.union</a>.which.have......
4f1a0 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 75 74 2e 0a 20 20 .guaranteed.in-memory.layout....
4f1c0 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 46 69 65 6c 64 2d ....<a.href="#Wrong-Union-Field-
4f1e0 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 61 63 74 69 76 65 Access">Accessing.the.non-active
4f200 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 2d 63 68 65 63 6b .field</a>.is.......safety-check
4f220 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 72 22 ed.<a.href="#Undefined-Behavior"
4f240 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 20 20 20 20 20 3c >Undefined.Behavior</a>:.......<
4f260 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
4f280 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"
4f2a0 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
4f2c0 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
4f2e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 .class="tok-kw">const</span>.Pay
4f300 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f load.=.<span.class="tok-kw">unio
4f320 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n</span>.{</span>.<span.class="l
4f340 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ine">....int:.<span.class="tok-t
4f360 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">i64</span>,</span>.<span.cl
4f380 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">....float:.<span.clas
4f3a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-type">f64</span>,</span>.
4f3c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 <span.class="line">....boolean:.
4f3e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 <span.class="tok-type">bool</spa
4f400 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">};
4f420 3c 2f 73 70 61 6e 3e 0a 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
4f440 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
4f460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 n.class="tok-str">&quot;simple.u
4f480 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nion&quot;</span>.{</span>.<span
4f4a0 20 63 6c 61 73 73 3d 22 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
4f4c0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c ok-kw">var</span>.payload.=.Payl
4f4e0 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d oad{..int.=.<span.class="tok-num
4f500 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber">1234</span>.};</span>.<span
4f520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 .class="line">....payload.float.
4f540 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 =.<span.class="tok-number">12.34
4f560 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
4f580 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
4f5a0 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
4f5c0 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
4f5e0 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
4f600 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
4f620 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 73 an.class="line">1/1.test.&quot;s
4f640 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 64 20 37 39 33 31 imple.union&quot;....thread.7931
4f660 31 31 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 69 11.panic:.access.of.inactive.uni
4f680 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 73 73 3d 22 6c 69 6e on.field</span>.<span.class="lin
4f6a0 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
4f6c0 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a /Downloads/zig/docgen_tmp/test.z
4f6e0 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 5f ig:8:12</span>:.<span.class="t2_
4f700 30 22 3e 30 78 32 30 37 61 34 62 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 73 69 6d 70 6c 65 0">0x207a4b.in.test.&quot;simple
4f720 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 6e .union&quot;.(test)</span></span
4f740 3e 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 >.<span.class="line">....payload
4f760 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 61 .float.=.12.34;</span>.<span.cla
4f780 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
4f7a0 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
4f7c0 6c 61 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">/
4f7e0 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
4f800 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 32 38 3c 2f 73 special/test_runner.zig:80:28</s
4f820 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 66 34 35 pan>:.<span.class="t2_0">0x22f45
4f840 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 29 3c 2f 73 70 3.in.std.special.main.(test)</sp
4f860 61 6e 3e 3c 2f 73 70 61 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">..
4f880 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 ......}.else.test_fn.func();</sp
4f8a0 61 6e 3e 0a 3c 73 70 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">.........
4f8c0 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
4f8e0 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
4f900 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
4f920 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 e/andy/Downloads/zig/lib/std/sta
4f940 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 rt.zig:543:22</span>:.<span.clas
4f960 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 37 65 34 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x227e4c.in.std.start.c
4f980 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
4f9a0 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
4f9c0 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
4f9e0 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
4fa00 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
4fa20 6e 20 63 6c 61 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
4fa40 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 ">/home/andy/Downloads/zig/lib/s
4fa60 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 61 td/start.zig:495:12</span>:.<spa
4fa80 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 32 36 65 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x20926e.in.std.s
4faa0 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 70 tart.callMainWithArgs.(test)</sp
4fac0 61 6e 3e 3c 2f 73 70 61 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">..
4fae0 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 61 ..return.@call(.{..modifier.=..a
4fb00 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 3c lways_inline.},.callMain,..{});<
4fb20 2f 73 70 61 6e 3e 0a 3c 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">......
4fb40 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
4fb60 3e 3c 2f 73 70 61 6e 3e 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
4fb80 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 44 6f 77 6e 6c 6f n.class="t1_0">/home/andy/Downlo
4fba0 61 64 73 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 37 ads/zig/lib/std/start.zig:409:17
4fbc0 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 30 </span>:.<span.class="t2_0">0x20
4fbe0 38 33 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 41 8306.in.std.start.posixCallMainA
4fc00 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 61 ndExit.(test)</span></span>.<spa
4fc20 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 40 n.class="line">....std.os.exit(@
4fc40 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 69 call(.{..modifier.=..always_inli
4fc60 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 2c ne.},.callMainWithArgs,..{.argc,
4fc80 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 6c .argv,.envp.}));</span>.<span.cl
4fca0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e ass="line">................<span
4fcc0 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>.<
4fce0 73 70 61 6e 20 63 6c 61 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
4fd00 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 1_0">/home/andy/Downloads/zig/li
4fd20 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 3c 73 b/std/start.zig:322:5</span>:.<s
4fd40 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 31 31 32 20 69 6e 20 73 74 64 pan.class="t2_0">0x208112.in.std
4fd60 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 70 61 .start._start.(test)</span></spa
4fd80 6e 3e 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 n>.<span.class="line">....@call(
4fda0 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 2c 20 .{..modifier.=..never_inline.},.
4fdc0 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 70 61 posixCallMainAndExit,..{});</spa
4fde0 6e 3e 0a 3c 73 70 61 6e 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.
4fe00 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
4fe20 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 6c pan.class="line">error:.the.foll
4fe40 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 61 owing.test.command.crashed:</spa
4fe60 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 70 n>.<span.class="line">docgen_tmp
4fe80 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 /zig-cache/o/8e4964e05ddaf866e77
4fea0 33 36 30 61 35 35 31 62 33 63 30 35 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 360a551b3c05b/test./home/andy/Do
4fec0 77 6e 6c 6f 61 64 73 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 wnloads/zig/build-release/zig</s
4fee0 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>.....
4ff00 20 20 3c 70 3e 59 6f 75 20 63 61 6e 20 61 63 74 69 76 61 74 65 20 61 6e 6f 74 68 65 72 20 66 69 ..<p>You.can.activate.another.fi
4ff20 65 6c 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f eld.by.assigning.the.entire.unio
4ff40 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e n:</p>.......<figure><figcaption
4ff60 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
4ff80 6c 65 22 3e 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e le">test_simple_union.zig</cite>
4ffa0 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
4ffc0 61 73 73 3d 22 6c 69 6e 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">
4ffe0 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="
50000 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
50020 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
50040 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
50060 69 6e 65 22 3e 3c 73 70 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<
50080 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
500a0 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"></
500c0 73 70 61 6e 3e 0a 3c 73 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
500e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f lass="tok-kw">const</span>.Paylo
50100 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c ad.=.<span.class="tok-kw">union<
50120 2f 73 70 61 6e 3e 20 7b 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
50140 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 e">....int:.<span.class="tok-typ
50160 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e">i64</span>,</span>.<span.clas
50180 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d s="line">....float:.<span.class=
501a0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-type">f64</span>,</span>.<s
501c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 pan.class="line">....boolean:.<s
501e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e pan.class="tok-type">bool</span>
50200 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">};</
50220 73 70 61 6e 3e 0a 3c 73 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
50240 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.
50260 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 class="tok-str">&quot;simple.uni
50280 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 63 on&quot;</span>.{</span>.<span.c
502a0 6c 61 73 73 3d 22 6c 69 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
502c0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 -kw">var</span>.payload.=.Payloa
502e0 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 d{..int.=.<span.class="tok-numbe
50300 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 r">1234</span>.};</span>.<span.c
50320 6c 61 73 73 3d 22 6c 69 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
50340 2d 6b 77 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 -kw">try</span>.expect(payload.i
50360 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 nt.==.<span.class="tok-number">1
50380 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=
503a0 22 6c 69 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 "line">....payload.=.Payload{..f
503c0 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e loat.=.<span.class="tok-number">
503e0 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 6c 61 12.34</span>.};</span>.<span.cla
50400 73 73 3d 22 6c 69 6e 65 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
50420 77 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 66 6c 6f w">try</span>.expect(payload.flo
50440 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 at.==.<span.class="tok-number">1
50460 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 2.34</span>);</span>.<span.class
50480 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
504a0 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=
504c0 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
504e0 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
50500 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 bd>zig.test.test_simple_union.zi
50520 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
50540 22 3e 31 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 ">1/1.test.&quot;simple.union&qu
50560 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
50580 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>.<
505a0 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>.
505c0 20 20 20 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 ......In.order.to.use.<a.href="#
505e0 73 77 69 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 switch">switch</a>.with.a.union,
50600 20 69 74 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 .it.must.be.a.<a.href="#Tagged-u
50620 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 20 3c 2f nion">Tagged.union</a>........</
50640 70 3e 0a 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 p>.......<p>.......To.initialize
50660 20 61 20 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 .a.union.when.the.tag.is.a.<a.hr
50680 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 ef="#comptime">comptime</a>-know
506a0 6e 20 6e 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 n.name,.see.<a.href="#unionInit"
506c0 3e 40 75 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 >@unionInit</a>........</p>.....
506e0 20 20 20 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 ...<h3.id="Tagged-union"><a.href
50700 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 ="nav.xhtml#toc-Tagged-union">Ta
50720 67 67 65 64 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 gged.union</a>.<a.class="hdr".hr
50740 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ef="#Tagged-union">..</a></h3>..
50760 20 20 20 20 20 20 3c 70 3e 55 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 ......<p>Unions.can.be.declared.
50780 77 69 74 68 20 61 6e 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 54 68 69 with.an.enum.tag.type........Thi
507a0 73 20 74 75 72 6e 73 20 74 68 65 20 75 6e 69 6f 6e 20 69 6e 74 6f 20 61 20 3c 65 6d 3e 74 61 67 s.turns.the.union.into.a.<em>tag
507c0 67 65 64 3c 2f 65 6d 3e 20 75 6e 69 6f 6e 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 65 ged</em>.union,.which.makes.it.e
507e0 6c 69 67 69 62 6c 65 0a 20 20 20 20 20 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 61 20 68 72 65 ligible.......to.use.with.<a.hre
50800 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f f="#switch">switch</a>.expressio
50820 6e 73 2e 0a 20 20 20 20 20 20 54 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 6f 65 72 63 65 20 74 ns........Tagged.unions.coerce.t
50840 6f 20 74 68 65 69 72 20 74 61 67 20 74 79 70 65 3a 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 o.their.tag.type:.<a.href="#Type
50860 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 54 79 70 65 -Coercion-unions-and-enums">Type
50880 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 2f 61 3e 2e .Coercion:.unions.and.enums</a>.
508a0 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
508c0 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
508e0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f s="file">test_switch_tagged_unio
50900 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 n.zig</cite></figcaption><pre><c
50920 6f 64 65 3e 3c 73 70 61 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
50940 73 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.=.<
50960 73 70 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
50980 3c 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
509a0 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
509c0 70 61 6e 20 63 6c 61 73 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
509e0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
50a00 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
50a20 73 73 3d 22 6c 69 6e 65 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
50a40 69 6e 65 22 3e 3c 73 70 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<
50a60 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 6c /span>.ComplexTypeTag.=.<span.cl
50a80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ass="tok-kw">enum</span>.{</span
50aa0 3e 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 3c 2f 73 70 >.<span.class="line">....ok,</sp
50ac0 61 6e 3e 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 74 5f 6f an>.<span.class="line">....not_o
50ae0 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 7d 3b 3c k,</span>.<span.class="line">};<
50b00 2f 73 70 61 6e 3e 0a 3c 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.
50b20 63 6c 61 73 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 class="tok-kw">const</span>.Comp
50b40 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 77 22 3e 75 lexType.=.<span.class="tok-kw">u
50b60 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 7b 3c 2f 73 nion</span>(ComplexTypeTag).{</s
50b80 70 61 6e 3e 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 3a 20 pan>.<span.class="line">....ok:.
50ba0 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>
50bc0 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">....
50be0 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 65 22 3e 76 not_ok:.<span.class="tok-type">v
50c00 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 73 73 3d 22 oid</span>,</span>.<span.class="
50c20 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
50c40 65 22 3e 3c 2f 73 70 61 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
50c60 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>.<
50c80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 span.class="tok-str">&quot;switc
50ca0 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b h.on.tagged.union&quot;</span>.{
50cc0 3c 2f 73 70 61 6e 3e 0a 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">....<
50ce0 73 70 61 6e 20 63 6c 61 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>
50d00 20 63 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c .c.=.ComplexType{..ok.=.<span.cl
50d20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 ass="tok-number">42</span>.};</s
50d40 70 61 6e 3e 0a 3c 73 70 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
50d60 6e 20 63 6c 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
50d80 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 61 73 ct(<span.class="tok-builtin">@as
50da0 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2c 20 63 29 20 3d 3d 20 43 6f </span>(ComplexTypeTag,.c).==.Co
50dc0 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mplexTypeTag.ok);</span>.<span.c
50de0 6c 61 73 73 3d 22 6c 69 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=
50e00 22 6c 69 6e 65 22 3e 20 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">
50e20 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e switch</span>.(c).{</span>.<span
50e40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 .class="line">........ComplexTyp
50e60 65 54 61 67 2e 6f 6b 20 3d 26 67 74 3b 20 7c 76 61 6c 75 65 7c 20 3c 73 70 61 6e 20 63 6c 61 73 eTag.ok.=&gt;.|value|.<span.clas
50e80 73 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 s="tok-kw">try</span>.expect(val
50ea0 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 3e 34 ue.==.<span.class="tok-number">4
50ec0 32 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>),</span>.<span.class="l
50ee0 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 6f 74 5f ine">........ComplexTypeTag.not_
50f00 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e ok.=&gt;.<span.class="tok-kw">un
50f20 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 reachable</span>,</span>.<span.c
50f40 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
50f60 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
50f80 3d 22 6c 69 6e 65 22 3e 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
50fa0 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
50fc0 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;
50fe0 67 65 74 20 74 61 67 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 get.tag.type&quot;</span>.{</spa
51000 6e 3e 0a 3c 73 70 61 6e 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.
51020 63 6c 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
51040 28 73 74 64 2e 6d 65 74 61 2e 54 61 67 28 43 6f 6d 70 6c 65 78 54 79 70 65 29 20 3d 3d 20 43 6f (std.meta.Tag(ComplexType).==.Co
51060 6d 70 6c 65 78 54 79 70 65 54 61 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 mplexTypeTag);</span>.<span.clas
51080 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
510a0 69 6e 65 22 3e 3c 2f 73 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">
510c0 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>
510e0 20 3c 73 70 61 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 .<span.class="tok-str">&quot;coe
51100 72 63 65 20 74 6f 20 65 6e 75 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e rce.to.enum&quot;</span>.{</span
51120 3e 0a 3c 73 70 61 6e 20 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
51140 6c 61 73 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 31 20 3d 20 lass="tok-kw">const</span>.c1.=.
51160 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ComplexType{..ok.=.<span.class="
51180 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a tok-number">42</span>.};</span>.
511a0 3c 73 70 61 6e 20 63 6c 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
511c0 73 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 32 20 3d 20 43 6f ss="tok-kw">const</span>.c2.=.Co
511e0 6d 70 6c 65 78 54 79 70 65 2e 6e 6f 74 5f 6f 6b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mplexType.not_ok;</span>.<span.c
51200 6c 61 73 73 3d 22 6c 69 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=
51220 22 6c 69 6e 65 22 3e 20 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">
51240 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 31 20 3d 3d 20 2e 6f 6b 29 3b 3c 2f 73 try</span>.expect(c1.==..ok);</s
51260 70 61 6e 3e 0a 3c 73 70 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
51280 6e 20 63 6c 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
512a0 63 74 28 63 32 20 3d 3d 20 2e 6e 6f 74 5f 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ct(c2.==..not_ok);</span>.<span.
512c0 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
512e0 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
51300 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
51320 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"
51340 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 >$.<kbd>zig.test.test_switch_tag
51360 67 65 64 5f 75 6e 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 ged_union.zig</kbd></span>.<span
51380 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 73 77 69 .class="line">1/3.test.&quot;swi
513a0 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 2e 2e 2e 20 4f 4b 3c tch.on.tagged.union&quot;....OK<
513c0 2f 73 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
513e0 73 74 20 26 71 75 6f 74 3b 67 65 74 20 74 61 67 20 74 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f st.&quot;get.tag.type&quot;....O
51400 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 20 K</span>.<span.class="line">3/3.
51420 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 65 6e 75 6d 26 71 75 6f 74 3b 2e test.&quot;coerce.to.enum&quot;.
51440 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">
51460 41 6c 6c 20 33 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.3.tests.passed.</span>.</sam
51480 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 49 6e 20 6f 72 p></pre></figure>.......<p>In.or
514a0 64 65 72 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 66 20 61 20 74 der.to.modify.the.payload.of.a.t
514c0 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 agged.union.in.a.switch.expressi
514e0 6f 6e 2c 0a 20 20 20 20 20 20 70 6c 61 63 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c on,.......place.a.<code><span.cl
51500 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 ass="line">*</span></code>.befor
51520 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 61 e.the.variable.name.to.make.it.a
51540 20 70 6f 69 6e 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 67 75 .pointer:.......</p>.......<figu
51560 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"><
51580 63 69 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 6d 6f cite.class="file">test_switch_mo
515a0 64 69 66 79 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 dify_tagged_union.zig</cite></fi
515c0 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=
515e0 22 6c 69 6e 65 22 3e 3c 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
51600 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-
51620 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
51640 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
51660 70 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"
51680 3e 3c 73 70 61 6e 20 63 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
516a0 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;<
516c0 2f 73 70 61 6e 3e 0a 3c 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
516e0 3e 0a 3c 73 70 61 6e 20 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
51700 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 65 78 54 79 ="tok-kw">const</span>.ComplexTy
51720 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 3e 65 6e 75 peTag.=.<span.class="tok-kw">enu
51740 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 6c m</span>.{</span>.<span.class="l
51760 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 61 73 73 3d ine">....ok,</span>.<span.class=
51780 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 70 61 6e 20 "line">....not_ok,</span>.<span.
517a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
517c0 73 73 3d 22 6c 69 6e 65 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
517e0 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 70 61 6e 20 onst</span>.ComplexType.=.<span.
51800 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 43 6f 6d 70 class="tok-kw">union</span>(Comp
51820 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 6c 61 73 73 lexTypeTag).{</span>.<span.class
51840 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 22 74 6f 6b ="line">....ok:.<span.class="tok
51860 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
51880 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 6e 20 63 6c lass="line">....not_ok:.<span.cl
518a0 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 2f 73 70 61 ass="tok-type">void</span>,</spa
518c0 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>.
518e0 3c 73 70 61 6e 20 63 6c 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
51900 20 63 6c 61 73 73 3d 22 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
51920 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-
51940 73 74 72 22 3e 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 str">&quot;modify.tagged.union.i
51960 6e 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c n.switch&quot;</span>.{</span>.<
51980 73 70 61 6e 20 63 6c 61 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
519a0 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 43 6f 6d 70 6c 65 s="tok-kw">var</span>.c.=.Comple
519c0 78 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 xType{..ok.=.<span.class="tok-nu
519e0 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mber">42</span>.};</span>.<span.
51a00 63 6c 61 73 73 3d 22 6c 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
51a20 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
51a40 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 43 6f 6d ass="tok-builtin">@as</span>(Com
51a60 70 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 plexTypeTag,.c).==.ComplexTypeTa
51a80 67 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 g.ok);</span>.<span.class="line"
51aa0 3e 3c 2f 73 70 61 6e 3e 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">....
51ac0 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
51ae0 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 6e n>.(c).{</span>.<span.class="lin
51b00 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 20 3d 26 67 e">........ComplexTypeTag.ok.=&g
51b20 74 3b 20 7c 2a 76 61 6c 75 65 7c 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 t;.|*value|.value.*.+=.<span.cla
51b40 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>
51b60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 .<span.class="line">........Comp
51b80 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c lexTypeTag.not_ok.=&gt;.<span.cl
51ba0 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 2c ass="tok-kw">unreachable</span>,
51bc0 3c 2f 73 70 61 6e 3e 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">....}
51be0 3c 2f 73 70 61 6e 3e 0a 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
51c00 6e 3e 0a 3c 73 70 61 6e 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.
51c20 63 6c 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
51c40 28 63 2e 6f 6b 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 (c.ok.==.<span.class="tok-number
51c60 22 3e 34 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">43</span>);</span>.<span.class
51c80 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
51ca0 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=
51cc0 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
51ce0 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
51d00 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 bd>zig.test.test_switch_modify_t
51d20 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 agged_union.zig</kbd></span>.<sp
51d40 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
51d60 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
51d80 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
51da0 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>.</
51dc0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
51de0 20 20 20 20 20 55 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 6d 61 64 65 20 74 6f 20 69 6e 66 65 72 .....Unions.can.be.made.to.infer
51e00 20 74 68 65 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 46 75 72 74 68 65 .the.enum.tag.type........Furthe
51e20 72 2c 20 75 6e 69 6f 6e 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 20 6a 75 73 74 20 r,.unions.can.have.methods.just.
51e40 6c 69 6b 65 20 73 74 72 75 63 74 73 20 61 6e 64 20 65 6e 75 6d 73 2e 0a 20 20 20 20 20 20 3c 2f like.structs.and.enums........</
51e60 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
51e80 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">
51ea0 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d 65 74 68 6f 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 test_union_method.zig</cite></fi
51ec0 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=
51ee0 22 6c 69 6e 65 22 3e 3c 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
51f00 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-
51f20 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
51f40 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
51f60 70 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"
51f80 3e 3c 73 70 61 6e 20 63 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
51fa0 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;<
51fc0 2f 73 70 61 6e 3e 0a 3c 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
51fe0 3e 0a 3c 73 70 61 6e 20 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
52000 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 72 69 61 6e 74 20 3d ="tok-kw">const</span>.Variant.=
52020 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 61 .<span.class="tok-kw">union</spa
52040 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 n>(<span.class="tok-kw">enum</sp
52060 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>).{</span>.<span.class="line"
52080 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >....int:.<span.class="tok-type"
520a0 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >i32</span>,</span>.<span.class=
520c0 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 20 63 6c 61 73 73 3d "line">....boolean:.<span.class=
520e0 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>.<
52100 73 70 61 6e 20 63 6c 61 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.
52120 63 6c 61 73 73 3d 22 6c 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
52140 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 6f 69 64 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 k-comment">//.void.can.be.omitte
52160 64 20 77 68 65 6e 20 69 6e 66 65 72 72 69 6e 67 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 3c d.when.inferring.enum.tag.type.<
52180 2f 73 70 61 6e 3e 3c 2f 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"
521a0 3e 20 20 20 20 6e 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....none,</span>.<span.class="l
521c0 69 6e 65 22 3e 3c 2f 73 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">
521e0 20 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 ....<span.class="tok-kw">fn</spa
52200 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 72 75 74 68 79 3c 2f n>.<span.class="tok-fn">truthy</
52220 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 61 72 69 61 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 span>(self:.Variant).<span.class
52240 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">bool</span>.{</span>
52260 0a 3c 73 70 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
52280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">return</span>.<
522a0 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
522c0 3e 20 28 73 65 6c 66 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >.(self).{</span>.<span.class="l
522e0 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 69 6e 74 20 3d 26 67 ine">............Variant.int.=&g
52300 74 3b 20 7c 78 5f 69 6e 74 7c 20 78 5f 69 6e 74 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t;.|x_int|.x_int.!=.<span.class=
52320 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">0</span>,</span>.<s
52340 70 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 72 pan.class="line">............Var
52360 69 61 6e 74 2e 62 6f 6f 6c 65 61 6e 20 3d 26 67 74 3b 20 7c 78 5f 62 6f 6f 6c 7c 20 78 5f 62 6f iant.boolean.=&gt;.|x_bool|.x_bo
52380 6f 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 ol,</span>.<span.class="line">..
523a0 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 6e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 ..........Variant.none.=&gt;.<sp
523c0 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>
523e0 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">....
52400 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....};</span>.<span.class="line"
52420 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"
52440 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"></
52460 73 70 61 6e 3e 0a 3c 73 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
52480 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.
524a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 69 6f 6e 20 6d 65 74 68 class="tok-str">&quot;union.meth
524c0 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 od&quot;</span>.{</span>.<span.c
524e0 6c 61 73 73 3d 22 6c 69 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
52500 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 31 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e 69 -kw">var</span>.v1.=.Variant{..i
52520 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 31 3c nt.=.<span.class="tok-number">1<
52540 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
52560 6e 65 22 3e 20 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
52580 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e 62 6f 6f 6c 65 61 6e 20 3d </span>.v2.=.Variant{..boolean.=
525a0 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
525c0 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 65 pan>.};</span>.<span.class="line
525e0 22 3e 3c 2f 73 70 61 6e 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">...
52600 20 3c 73 70 61 6e 20 63 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>
52620 20 65 78 70 65 63 74 28 76 31 2e 74 72 75 74 68 79 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .expect(v1.truthy());</span>.<sp
52640 61 6e 20 63 6c 61 73 73 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=
52660 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 76 32 2e 74 "tok-kw">try</span>.expect(!v2.t
52680 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
526a0 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
526c0 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
526e0 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><
52700 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
52720 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d 65 74 68 6f 64 2e 7a 69 67 3c 2f 6b ig.test.test_union_method.zig</k
52740 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/
52760 31 20 74 65 73 74 20 26 71 75 6f 74 3b 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 2e 1.test.&quot;union.method&quot;.
52780 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">
527a0 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 6d All.1.tests.passed.</span>.</sam
527c0 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>.....
527e0 20 20 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 ..<a.href="#tagName">@tagName</a
52800 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 20 3c 61 20 68 72 65 >.can.be.used.to.return.a.<a.hre
52820 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 20 20 f="#comptime">comptime</a>......
52840 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 3a 3c 73 70 61 .<code><span.class="line">[:<spa
52860 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 3c 73 n.class="tok-number">0</span>]<s
52880 70 61 6e 20 63 6c 61 73 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>.
528a0 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>
528c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 69 6e </span></code>.value.representin
528e0 67 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 g.the.field.name:.......</p>....
52900 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
52920 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 74 g-cap"><cite.class="file">test_t
52940 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 agName.zig</cite></figcaption><p
52960 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
52980 6e 20 63 6c 61 73 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
529a0 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
529c0 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
529e0 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
52a00 6e 3e 0a 3c 73 70 61 6e 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
52a20 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.=
52a40 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
52a60 6e 20 63 6c 61 73 73 3d 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
52a80 73 73 3d 22 6c 69 6e 65 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
52aa0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c 6c 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.Small2.=.<span.class
52ac0 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
52ae0 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
52b00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 >.<span.class="line">....a:.<spa
52b20 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>,</
52b40 73 70 61 6e 3e 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 span>.<span.class="line">....b:.
52b60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 <span.class="tok-type">bool</spa
52b80 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
52ba0 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 38 3c 2f ..c:.<span.class="tok-type">u8</
52bc0 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"
52be0 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
52c00 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>.<
52c20 73 70 61 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 span.class="tok-str">&quot;@tagN
52c40 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 61 6e 20 ame&quot;</span>.{</span>.<span.
52c60 63 6c 61 73 73 3d 22 6c 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
52c80 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.
52ca0 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
52cc0 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">
52ce0 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 32 2e 61 29 2c 20 3c 73 70 61 6e @tagName</span>(Small2.a),.<span
52d00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f .class="tok-str">&quot;a&quot;</
52d20 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
52d40 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
52d60 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
52d80 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
52da0 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
52dc0 67 20 74 65 73 74 20 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 g.test.test_tagName.zig</kbd></s
52de0 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
52e00 20 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 .&quot;@tagName&quot;....OK</spa
52e20 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
52e40 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></
52e60 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 figure>...............<h3.id="ex
52e80 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 tern-union"><a.href="nav.xhtml#t
52ea0 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 oc-extern-union">extern.union</a
52ec0 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 2d 75 >.<a.class="hdr".href="#extern-u
52ee0 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 0a 20 20 20 nion">..</a></h3>........<p>....
52f00 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 69 6e 65 22 3e 3c ...An.<code><span.class="line"><
52f20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">extern</span
52f40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 >.<span.class="tok-kw">union</sp
52f60 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6d 65 6d 6f 72 79 20 6c 61 79 an></span></code>.has.memory.lay
52f80 6f 75 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 out.guaranteed.to.be.compatible.
52fa0 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 74 61 72 67 65 74 20 43 20 41 42 49 2e 0a 20 20 20 with.......the.target.C.ABI.....
52fc0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 ...</p>.......<p>See.also:</p><u
52fe0 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e l>.<li><a.href="#extern-struct">
53000 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 extern.struct</a></li>.</ul>....
53020 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 63 6b 65 64 2d 75 6e 69 6f 6e ............<h3.id="packed-union
53040 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 70 61 63 6b 65 64 2d "><a.href="nav.xhtml#toc-packed-
53060 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 73 73 union">packed.union</a>.<a.class
53080 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 3c 2f ="hdr".href="#packed-union">..</
530a0 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 6e 20 a></h3>........<p>A.<code><span.
530c0 63 6c 61 73 73 3d 22 6c 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
530e0 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">packed</span>.<span.class="tok
53100 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 -kw">union</span></span></code>.
53120 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 6f 75 has.well-defined.in-memory.layou
53140 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 20 62 t.and.is.eligible...........to.b
53160 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 22 3e e.in.a.<a.href="#packed-struct">
53180 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 0a 20 packed.struct</a>.</p>..........
531a0 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 69 74 .....<h3.id="Anonymous-Union-Lit
531c0 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 6e erals"><a.href="nav.xhtml#toc-An
531e0 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 onymous-Union-Literals">Anonymou
53200 73 20 55 6e 69 6f 6e 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 s.Union.Literals</a>.<a.class="h
53220 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 dr".href="#Anonymous-Union-Liter
53240 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 3c 61 20 68 72 als">..</a></h3>........<p><a.hr
53260 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e ef="#Anonymous-Struct-Literals">
53280 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 73 79 Anonymous.Struct.Literals</a>.sy
532a0 6e 74 61 78 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 75 ntax.can.be.used.to.initialize.u
532c0 6e 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 0a 20 20 20 20 20 20 74 nions.without.specifying.......t
532e0 68 65 20 74 79 70 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 he.type:</p>.......<figure><figc
53300 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
53320 73 73 3d 22 66 69 6c 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 ss="file">anon_union.zig</cite><
53340 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
53360 73 73 3d 22 6c 69 6e 65 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
53380 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
533a0 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
533c0 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;
533e0 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
53400 6e 65 22 3e 3c 73 70 61 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</
53420 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
53440 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
53460 70 61 6e 3e 0a 3c 73 70 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
53480 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 ass="tok-kw">const</span>.Number
534a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 .=.<span.class="tok-kw">union</s
534c0 70 61 6e 3e 20 7b 3c 2f 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"
534e0 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >....int:.<span.class="tok-type"
53500 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >i32</span>,</span>.<span.class=
53520 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 74 "line">....float:.<span.class="t
53540 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-type">f64</span>,</span>.<spa
53560 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
53580 6c 61 73 73 3d 22 6c 69 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=
535a0 22 6c 69 6e 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
535c0 3c 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
535e0 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 uot;anonymous.union.literal.synt
53600 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ax&quot;</span>.{</span>.<span.c
53620 6c 61 73 73 3d 22 6c 69 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
53640 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 2e 7b 2e 69 -kw">var</span>.i:.Number.=..{.i
53660 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 nt.=.<span.class="tok-number">42
53680 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>};</span>.<span.class="li
536a0 6e 65 22 3e 20 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
536c0 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 6d 61 6b 65 4e 75 6d 62 65 72 28 29 3b 3c 2f 73 70 61 6e 3e </span>.f.=.makeNumber();</span>
536e0 0a 3c 73 70 61 6e 20 63 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
53700 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 ass="tok-kw">try</span>.expect(i
53720 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .int.==.<span.class="tok-number"
53740 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >42</span>);</span>.<span.class=
53760 22 6c 69 6e 65 22 3e 20 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">
53780 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 try</span>.expect(f.float.==.<sp
537a0 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
537c0 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">}
537e0 3c 2f 73 70 61 6e 3e 0a 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
53800 6e 3e 0a 3c 73 70 61 6e 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
53820 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
53840 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 6b 65 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 29 20 4e 75 ="tok-fn">makeNumber</span>().Nu
53860 6d 62 65 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 mber.{</span>.<span.class="line"
53880 3e 20 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
538a0 3c 2f 73 70 61 6e 3e 20 2e 7b 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>..{.float.=.<span.class="
538c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e tok-number">12.34</span>};</span
538e0 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
53900 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
53920 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</
53940 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
53960 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 6e 6f 6e 5f 75 6e s="line">$.<kbd>zig.test.anon_un
53980 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 61 73 73 ion.zig</kbd></span>.<span.class
539a0 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 6f 6e 79 6d 6f 75 73 ="line">1/1.test.&quot;anonymous
539c0 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 3b 2e 2e 2e 20 4f .union.literal.syntax&quot;....O
539e0 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.
53a00 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></
53a20 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 0a 0a 20 20 pre></figure>...................
53a40 20 20 20 20 3c 68 32 20 69 64 3d 22 6f 70 61 71 75 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 ....<h2.id="opaque"><a.href="nav
53a60 2e 78 68 74 6d 6c 23 74 6f 63 2d 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 20 3c 61 .xhtml#toc-opaque">opaque</a>.<a
53a80 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e c2 a7 3c 2f .class="hdr".href="#opaque">..</
53aa0 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c a></h2>........<p>.......<code><
53ac0 73 70 61 6e 20 63 6c 61 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
53ae0 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f ok-kw">opaque</span>.{}</span></
53b00 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 6e 65 77 20 74 79 70 65 20 77 69 74 68 20 61 code>.declares.a.new.type.with.a
53b20 6e 20 75 6e 6b 6e 6f 77 6e 20 28 62 75 74 20 6e 6f 6e 2d 7a 65 72 6f 29 20 73 69 7a 65 20 61 6e n.unknown.(but.non-zero).size.an
53b40 64 20 61 6c 69 67 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 49 74 20 63 61 6e 20 63 6f 6e 74 61 69 d.alignment........It.can.contai
53b60 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 61 20 68 72 n.declarations.the.same.as.<a.hr
53b80 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 ef="#struct">structs</a>,.<a.hre
53ba0 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 6e 64 f="#union">unions</a>,.......and
53bc0 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 2e 0a 20 20 20 20 .<a.href="#enum">enums</a>......
53be0 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 69 73 20 74 ..</p>.......<p>.......This.is.t
53c00 79 70 69 63 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 74 79 70 65 20 73 61 66 65 74 79 20 77 68 ypically.used.for.type.safety.wh
53c20 65 6e 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 43 20 63 6f 64 65 20 74 68 61 74 20 en.interacting.with.C.code.that.
53c40 64 6f 65 73 20 6e 6f 74 20 65 78 70 6f 73 65 20 73 74 72 75 63 74 20 64 65 74 61 69 6c 73 2e 0a does.not.expose.struct.details..
53c60 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ......Example:.......</p>.......
53c80 3c 66 69 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
53ca0 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 3c ap"><cite.class="file">test.zig<
53cc0 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
53ce0 70 61 6e 20 63 6c 61 73 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
53d00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 65 72 70 20 3d 20 3c 73 70 61 6e 20 k-kw">const</span>.Derp.=.<span.
53d20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d 3b class="tok-kw">opaque</span>.{};
53d40 3c 2f 73 70 61 6e 3e 0a 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
53d60 20 63 6c 61 73 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 61 74 .class="tok-kw">const</span>.Wat
53d80 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f .=.<span.class="tok-kw">opaque</
53da0 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 span>.{};</span>.<span.class="li
53dc0 6e 65 22 3e 3c 2f 73 70 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"><
53de0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">extern</span
53e00 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>
53e20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e .<span.class="tok-fn">bar</span>
53e40 28 64 3a 20 2a 44 65 72 70 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 (d:.*Derp).<span.class="tok-type
53e60 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 61 73 ">void</span>;</span>.<span.clas
53e80 73 3d 22 6c 69 6e 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
53ea0 3c 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
53ec0 3c 2f 73 70 61 6e 3e 28 77 3a 20 2a 57 61 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>(w:.*Wat).<span.class="to
53ee0 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 43 29 20 3c 73 70 61 6e 20 k-kw">callconv</span>(.C).<span.
53f00 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>.{</
53f20 73 70 61 6e 3e 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 72 span>.<span.class="line">....bar
53f40 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 65 22 3e 7d (w);</span>.<span.class="line">}
53f60 3c 2f 73 70 61 6e 3e 0a 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
53f80 6e 3e 0a 3c 73 70 61 6e 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
53fa0 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
53fc0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 6c 6c 20 66 6f 6f 26 71 75 6f 74 ss="tok-str">&quot;call.foo&quot
53fe0 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
54000 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 6e 75 ine">....foo(<span.class="tok-nu
54020 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ll">undefined</span>);</span>.<s
54040 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>
54060 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
54080 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
540a0 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
540c0 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
540e0 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
54100 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
54120 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 73 73 3d 22 st.zig:6:9:.</span><span.class="
54140 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 73 t31_1">error:.</span><span.class
54160 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 44 65 72 70 27 2c 20 66 ="t0_1">expected.type.'*Derp',.f
54180 6f 75 6e 64 20 27 2a 57 61 74 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ound.'*Wat'</span></span>.<span.
541a0 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 6e 3e 0a class="line">....bar(w);</span>.
541c0 3c 73 70 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
541e0 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>.<
54200 73 70 61 6e 20 63 6c 61 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
54220 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 39 3a 20 0_1">./docgen_tmp/test.zig:6:9:.
54240 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 3a </span><span.class="t36_1">note:
54260 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 70 6f 69 6e 74 .</span><span.class="t0_1">point
54280 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 57 61 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 er.type.child.'Wat'.cannot.cast.
542a0 69 6e 74 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 44 65 72 70 27 3c 2f into.pointer.type.child.'Derp'</
542c0 73 70 61 6e 3e 3c 2f 73 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">
542e0 20 20 20 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 ....bar(w);</span>.<span.class="
54300 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 5f 31 line">........<span.class="t32_1
54320 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><
54340 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 32 20 69 64 3d 22 62 /figure>...............<h2.id="b
54360 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 62 6c locks"><a.href="nav.xhtml#toc-bl
54380 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 3d 22 68 64 72 22 20 ocks">blocks</a>.<a.class="hdr".
543a0 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 3e 0a 0a 20 20 20 20 href="#blocks">..</a></h2>......
543c0 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 65 64 20 74 6f 20 6c ..<p>.......Blocks.are.used.to.l
543e0 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 65 20 64 65 63 6c 61 imit.the.scope.of.variable.decla
54400 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 20 3c 66 69 67 75 72 rations:.......</p>.......<figur
54420 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
54440 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>
54460 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
54480 61 73 73 3d 22 6c 69 6e 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">
544a0 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
544c0 22 3e 26 71 75 6f 74 3b 61 63 63 65 73 73 20 76 61 72 69 61 62 6c 65 20 61 66 74 65 72 20 62 6c ">&quot;access.variable.after.bl
544e0 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 2f 73 70 61 6e 3e 0a ock.scope&quot;</span>.{</span>.
54500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a <span.class="line">....{</span>.
54520 3c 73 70 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
54540 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 .class="tok-kw">var</span>.x:.<s
54560 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>.
54580 3d 20 3c 73 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
545a0 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">.
545c0 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 6e 20 63 6c 61 73 73 ......._.=.x;</span>.<span.class
545e0 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
54600 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 74 6f ="line">....x.+=.<span.class="to
54620 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
54640 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
54660 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.
54680 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
546a0 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
546c0 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>
546e0 3c 2f 73 70 61 6e 3e 0a 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
54700 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 74 65 73 74 2e 7a 69 .class="t1_0">docgen_tmp/test.zi
54720 67 3a 36 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 g:6:5:.</span><span.class="t31_1
54740 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 30 ">error:</span><span.class="t1_0
54760 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 74 69 66 69 65 72 20 ">.use.of.undeclared.identifier.
54780 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 69 6e 65 22 3e 3c 2f 'x'</span>.<span.class="line"></
547a0 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 73 70 61 6e 20 63 6c span>....x.+=.1;</span>.<span.cl
547c0 61 73 73 3d 22 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_
547e0 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"><
54800 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
54820 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 65 78 70 72 65 73 73 ure>.......<p>Blocks.are.express
54840 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 3e 3c 73 70 61 6e 20 ions..When.labeled,.<code><span.
54860 63 6c 61 73 73 3d 22 6c 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
54880 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 20 63 61 6e ">break</span></span></code>.can
548a0 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 61 20 76 61 6c 75 65 .be.used.......to.return.a.value
548c0 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 70 3e 0a 20 20 20 20 .from.the.block:.......</p>.....
548e0 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
54900 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 6c 61 -cap"><cite.class="file">test_la
54920 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 69 67 63 61 70 74 69 beled_break.zig</cite></figcapti
54940 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"
54960 3e 3c 73 70 61 6e 20 63 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
54980 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
549a0 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
549c0 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>);
549e0 3c 2f 73 70 61 6e 3e 0a 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
54a00 20 63 6c 61 73 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
54a20 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>
54a40 0a 3c 73 70 61 6e 20 63 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
54a60 6e 20 63 6c 61 73 73 3d 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-
54a80 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
54aa0 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 20 66 72 6f 6d 20 6c -str">&quot;labeled.break.from.l
54ac0 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 75 6f 74 3b 3c 2f 73 abeled.block.expression&quot;</s
54ae0 70 61 6e 3e 20 7b 3c 2f 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"
54b00 3e 20 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
54b20 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
54b40 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
54b60 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 73 70 61 6e 20 63 6c ber">123</span>;</span>.<span.cl
54b80 61 73 73 3d 22 6c 69 6e 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="
54ba0 6c 69 6e 65 22 3e 20 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
54bc0 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 70 61 6e 3e 0a 3c 73 onst</span>.x.=.blk:.{</span>.<s
54be0 70 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 20 2b 3d 20 3c 73 pan.class="line">........y.+=.<s
54c00 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>;
54c20 3c 2f 73 70 61 6e 3e 0a 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">.....
54c40 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 ...<span.class="tok-kw">break</s
54c60 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 20 63 6c 61 73 73 3d pan>.:blk.y;</span>.<span.class=
54c80 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....};</span>.<span.class
54ca0 3d 22 6c 69 6e 65 22 3e 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"
54cc0 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 6c >try</span>.expect(x.==.<span.cl
54ce0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-number">124</span>);</s
54d00 70 61 6e 3e 0a 3c 73 70 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
54d20 6e 20 63 6c 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
54d40 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ct(y.==.<span.class="tok-number"
54d60 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 6e 20 63 6c 61 73 73 >124</span>);</span>.<span.class
54d80 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
54da0 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=
54dc0 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
54de0 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
54e00 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 62 72 65 61 6b 2e 7a bd>zig.test.test_labeled_break.z
54e20 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
54e40 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 20 62 72 65 61 6b 20 e">1/1.test.&quot;labeled.break.
54e60 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 75 from.labeled.block.expression&qu
54e80 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
54ea0 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>.<
54ec0 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 48 /samp></pre></figure>.......<p>H
54ee0 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 69 6e 65 22 3e 62 6c ere,.<code><span.class="line">bl
54f00 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 79 20 6e 61 6d 65 2e k</span></code>.can.be.any.name.
54f20 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>.
54f40 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 6c 65 22 3e 4c 61 62 <li><a.href="#Labeled-while">Lab
54f60 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 61 20 68 72 65 66 3d eled.while</a></li>.<li><a.href=
54f80 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 72 3c 2f 61 3e 3c 2f "#Labeled-for">Labeled.for</a></
54fa0 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 53 68 61 64 6f 77 li>.</ul>.........<h3.id="Shadow
54fc0 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 68 61 64 ing"><a.href="nav.xhtml#toc-Shad
54fe0 6f 77 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 owing">Shadowing</a>.<a.class="h
55000 64 72 22 20 68 72 65 66 3d 22 23 53 68 61 64 6f 77 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 dr".href="#Shadowing">..</a></h3
55020 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 64 65 6e 74 69 66 69 65 72 73 20 61 72 65 20 6e 65 76 65 >........<p>Identifiers.are.neve
55040 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 22 68 69 64 65 22 20 6f 74 68 65 72 20 69 64 65 6e 74 69 r.allowed.to."hide".other.identi
55060 66 69 65 72 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 3a 3c 2f 70 fiers.by.using.the.same.name:</p
55080 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
550a0 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
550c0 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>
550e0 3c 63 6f 64 65 3e 3c 73 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
55100 6c 61 73 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 69 20 3d 20 lass="tok-kw">const</span>.pi.=.
55120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 <span.class="tok-number">3.14</s
55140 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">
55160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
55180 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
551a0 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 73 69 64 65 20 74 n.class="tok-str">&quot;inside.t
551c0 65 73 74 20 62 6c 6f 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 est.block&quot;</span>.{</span>.
551e0 3c 73 70 61 6e 20 63 6c 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
55200 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 27 73 20 65 76 65 6e 20 67 ss="tok-comment">//.Let's.even.g
55220 6f 20 69 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 62 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 o.inside.another.block</span></s
55240 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 pan>.<span.class="line">....{</s
55260 70 61 6e 3e 0a 3c 73 70 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">........
55280 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>.
552a0 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 69 33 32 3c 2f pi:.<span.class="tok-type">i32</
552c0 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"
552e0 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >1234</span>;</span>.<span.class
55300 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
55320 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
55340 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=
55360 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
55380 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
553a0 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 6e bd>zig.test.test.zig</kbd></span
553c0 3e 0a 3c 73 70 61 6e 20 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
553e0 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 36 3a 31 33 ="t1_0">docgen_tmp/test.zig:6:13
55400 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
55420 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 6c 6f or:</span><span.class="t1_0">.lo
55440 63 61 6c 20 73 68 61 64 6f 77 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 27 70 69 27 3c cal.shadows.declaration.of.'pi'<
55460 2f 73 70 61 6e 3e 0a 3c 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
55480 3e 20 20 20 20 20 20 20 20 76 61 72 20 70 69 3a 20 69 33 32 20 3d 20 31 32 33 34 3b 3c 2f 73 70 >........var.pi:.i32.=.1234;</sp
554a0 61 6e 3e 0a 3c 73 70 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">.........
554c0 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 0a ...<span.class="t32_1">^</span>.
554e0 3c 73 70 61 6e 20 63 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 <span.class="line"></span><span.
55500 63 6c 61 73 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 class="t1_0">docgen_tmp/test.zig
55520 3a 31 3a 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 :1:1:.</span><span.class="t36_1"
55540 3e 6e 6f 74 65 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 >note:</span><span.class="t1_0">
55560 20 64 65 63 6c 61 72 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 .declared.here</span>.<span.clas
55580 73 3d 22 6c 69 6e 65 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 s="line"></span>const.pi.=.3.14;
555a0 3c 2f 73 70 61 6e 3e 0a 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
555c0 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 6c .class="t32_1">^</span>.<span.cl
555e0 61 73 73 3d 22 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 ass="line"></span></span>.</samp
55600 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>......
55620 20 42 65 63 61 75 73 65 20 6f 66 20 74 68 69 73 2c 20 77 68 65 6e 20 79 6f 75 20 72 65 61 64 20 .Because.of.this,.when.you.read.
55640 5a 69 67 20 63 6f 64 65 20 79 6f 75 20 63 61 6e 20 61 6c 77 61 79 73 20 72 65 6c 79 20 6f 6e 20 Zig.code.you.can.always.rely.on.
55660 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 74 6f 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 6d 65 an.identifier.to.consistently.me
55680 61 6e 20 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 77 69 74 68 69 6e 20 an........the.same.thing.within.
556a0 74 68 65 20 73 63 6f 70 65 20 69 74 20 69 73 20 64 65 66 69 6e 65 64 2e 20 4e 6f 74 65 20 74 68 the.scope.it.is.defined..Note.th
556c0 61 74 20 79 6f 75 20 63 61 6e 2c 20 68 6f 77 65 76 65 72 2c 20 75 73 65 20 74 68 65 20 73 61 6d at.you.can,.however,.use.the.sam
556e0 65 20 6e 61 6d 65 20 69 66 20 0a 20 20 20 20 20 20 74 68 65 20 73 63 6f 70 65 73 20 61 72 65 20 e.name.if........the.scopes.are.
55700 73 65 70 61 72 61 74 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 separate:.......</p>.......<figu
55720 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"><
55740 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 cite.class="file">test_scopes.zi
55760 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>
55780 3c 73 70 61 6e 20 63 6c 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="
557a0 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=
557c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 "tok-str">&quot;separate.scopes&
557e0 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
55800 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 63 6c 61 73 s="line">....{</span>.<span.clas
55820 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
55840 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 6c k-kw">const</span>.pi.=.<span.cl
55860 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 73 ass="tok-number">3.14</span>;</s
55880 70 61 6e 3e 0a 3c 73 70 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">........
558a0 5f 20 3d 20 70 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 _.=.pi;</span>.<span.class="line
558c0 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
558e0 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ">....{</span>.<span.class="line
55900 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
55920 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ar</span>.pi:.<span.class="tok-t
55940 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ype">bool</span>.=.<span.class="
55960 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 3e 0a 3c 73 tok-null">true</span>;</span>.<s
55980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b pan.class="line">........_.=.pi;
559a0 3c 2f 73 70 61 6e 3e 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">....}
559c0 3c 2f 73 70 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
559e0 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
55a00 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
55a20 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
55a40 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
55a60 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 est_scopes.zig</kbd></span>.<spa
55a80 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 73 65 n.class="line">1/1.test.&quot;se
55aa0 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e parate.scopes&quot;....OK</span>
55ac0 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.
55ae0 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
55b00 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 gure>......................<h2.i
55b20 64 3d 22 73 77 69 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f d="switch"><a.href="nav.xhtml#to
55b40 63 2d 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 c-switch">switch</a>.<a.class="h
55b60 64 72 22 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a dr".href="#switch">..</a></h2>..
55b80 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=
55ba0 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 77 69 "zig-cap"><cite.class="file">swi
55bc0 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e tch.zig</cite></figcaption><pre>
55be0 3c 63 6f 64 65 3e 3c 73 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
55c00 6c 61 73 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.=
55c20 20 3c 73 70 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
55c40 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">
55c60 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>.
55c80 3c 73 70 61 6e 20 63 6c 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="
55ca0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c tok-kw">const</span>.builtin.=.<
55cc0 73 70 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
55ce0 3c 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
55d00 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e uot;builtin&quot;</span>);</span
55d20 3e 0a 3c 73 70 61 6e 20 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
55d40 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.=.
55d60 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
55d80 20 63 6c 61 73 73 3d 22 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
55da0 73 3d 22 6c 69 6e 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
55dc0 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">
55de0 26 71 75 6f 74 3b 73 77 69 74 63 68 20 73 69 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e &quot;switch.simple&quot;</span>
55e00 20 7b 3c 2f 73 70 61 6e 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">...
55e20 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
55e40 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 36 34 n>.a:.<span.class="tok-type">u64
55e60 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
55e80 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">10</span>;</span>.<span.class
55ea0 3d 22 6c 69 6e 65 22 3e 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"
55ec0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.zz:.<span.class="t
55ee0 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">u64</span>.=.<span.clas
55f00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e s="tok-number">103</span>;</span
55f20 3e 0a 3c 73 70 61 6e 20 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
55f40 61 6e 20 63 6c 61 73 73 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=
55f60 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6c 6c 20 62 72 61 6e 63 68 65 73 20 6f 66 "tok-comment">//.All.branches.of
55f80 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 75 73 74 20 62 65 20 61 62 6c .a.switch.expression.must.be.abl
55fa0 65 20 74 6f 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 e.to.be.coerced.to.a</span></spa
55fc0 6e 3e 0a 3c 73 70 61 6e 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.
55fe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 6d 6f 6e 20 74 79 class="tok-comment">//.common.ty
56000 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pe.</span></span>.<span.class="l
56020 69 6e 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
56040 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=
56060 22 6c 69 6e 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
56080 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 6e 6f 74 20 66 61 6c 6c 74 68 72 6f ent">//.Branches.cannot.fallthro
560a0 75 67 68 2e 20 49 66 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 62 65 68 61 76 69 6f 72 20 69 73 20 ugh..If.fallthrough.behavior.is.
560c0 64 65 73 69 72 65 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c desired,.combine</span></span>.<
560e0 73 70 61 6e 20 63 6c 61 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
56100 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 63 61 73 65 73 20 61 6e 64 s="tok-comment">//.the.cases.and
56120 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .use.an.if.</span></span>.<span.
56140 63 6c 61 73 73 3d 22 6c 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
56160 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-kw">const</span>.b.=.<span.cla
56180 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 3c ss="tok-kw">switch</span>.(a).{<
561a0 2f 73 70 61 6e 3e 0a 3c 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">......
561c0 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 4d ..<span.class="tok-comment">//.M
561e0 75 6c 74 69 70 6c 65 20 63 61 73 65 73 20 63 61 6e 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 76 69 ultiple.cases.can.be.combined.vi
56200 61 20 61 20 27 2c 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 a.a.','</span></span>.<span.clas
56220 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
56240 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=
56260 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
56280 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c ss="tok-number">3</span>.=&gt;.<
562a0 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>
562c0 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
562e0 61 6e 3e 0a 3c 73 70 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">........<
56300 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 52 61 6e 67 span.class="tok-comment">//.Rang
56320 65 73 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 20 75 73 69 6e 67 20 74 68 65 20 2e 2e es.can.be.specified.using.the...
56340 2e 20 73 79 6e 74 61 78 2e 20 54 68 65 73 65 20 61 72 65 20 69 6e 63 6c 75 73 69 76 65 3c 2f 73 ..syntax..These.are.inclusive</s
56360 70 61 6e 3e 3c 2f 73 70 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">.
56380 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"
563a0 3e 2f 2f 20 62 6f 74 68 20 65 6e 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >//.both.ends.</span></span>.<sp
563c0 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
563e0 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 2e 2e 2e 3c 73 70 61 ass="tok-number">5</span>...<spa
56400 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 20 n.class="tok-number">100</span>.
56420 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 31 =&gt;.<span.class="tok-number">1
56440 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
56460 65 22 3e 3c 2f 73 70 61 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">..
56480 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">
564a0 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 63 //.Branches.can.be.arbitrarily.c
564c0 6f 6d 70 6c 65 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 omplex.</span></span>.<span.clas
564e0 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
56500 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 62 6c 6b 3a 20 k-number">101</span>.=&gt;.blk:.
56520 7b 3c 2f 73 70 61 6e 3e 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">....
56540 20 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
56560 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 st</span>.c:.<span.class="tok-ty
56580 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">u64</span>.=.<span.class="to
565a0 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 6e k-number">5</span>;</span>.<span
565c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .class="line">............<span.
565e0 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 6c 6b class="tok-kw">break</span>.:blk
56600 20 63 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c .c.*.<span.class="tok-number">2<
56620 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 /span>.+.<span.class="tok-number
56640 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="
56660 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c line">........},</span>.<span.cl
56680 61 73 73 3d 22 6c 69 6e 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="
566a0 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
566c0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 61 72 62 69 74 72 61 72 omment">//.Switching.on.arbitrar
566e0 79 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 73 20 61 6c 6c 6f 77 65 64 20 61 73 20 6c 6f 6e 67 y.expressions.is.allowed.as.long
56700 20 61 73 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .as.the</span></span>.<span.clas
56720 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
56740 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6b 6e 6f 77 k-comment">//.expression.is.know
56760 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e n.at.compile-time.</span></span>
56780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7a 7a 20 3d .<span.class="line">........zz.=
567a0 26 67 74 3b 20 7a 7a 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 &gt;.zz,</span>.<span.class="lin
567c0 65 22 3e 20 20 20 20 20 20 20 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e">........blk:.{</span>.<span.c
567e0 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
56800 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 ass="tok-kw">const</span>.d:.<sp
56820 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>.=
56840 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 .<span.class="tok-number">5</spa
56860 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">..
56880 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ..........<span.class="tok-kw">c
568a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d onst</span>.e:.<span.class="tok-
568c0 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="
568e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">100</span>;</span>.<
56900 73 70 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
56920 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>.
56940 3a 62 6c 6b 20 64 20 2b 20 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 :blk.d.+.e;</span>.<span.class="
56960 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 line">........}.=&gt;.<span.clas
56980 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 37 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e s="tok-number">107</span>,</span
569a0 3e 0a 3c 73 70 61 6e 20 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
569c0 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
569e0 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 65 6c 73 65 20 62 72 ass="tok-comment">//.The.else.br
56a00 61 6e 63 68 20 63 61 74 63 68 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 6e 6f 74 20 61 6c 72 65 anch.catches.everything.not.alre
56a20 61 64 79 20 63 61 70 74 75 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ady.captured.</span></span>.<spa
56a40 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
56a60 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6c 73 65 20 62 72 61 6e 63 68 65 ss="tok-comment">//.Else.branche
56a80 73 20 61 72 65 20 6d 61 6e 64 61 74 6f 72 79 20 75 6e 6c 65 73 73 20 74 68 65 20 65 6e 74 69 72 s.are.mandatory.unless.the.entir
56aa0 65 20 72 61 6e 67 65 20 6f 66 20 76 61 6c 75 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a e.range.of.values</span></span>.
56ac0 3c 73 70 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
56ae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 73 20 68 61 6e 64 6c .class="tok-comment">//.is.handl
56b00 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
56b20 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
56b40 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">else</span>.=&gt;.<span.class=
56b60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">9</span>,</span>.<s
56b80 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>.<
56ba0 73 70 61 6e 20 63 6c 61 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.
56bc0 63 6c 61 73 73 3d 22 6c 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
56be0 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 73 70 k-kw">try</span>.expect(b.==.<sp
56c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">1</span>);
56c20 3c 2f 73 70 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
56c40 61 6e 3e 0a 3c 73 70 61 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>.<
56c60 73 70 61 6e 20 63 6c 61 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
56c80 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e ok-comment">//.Switch.expression
56ca0 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f 75 74 73 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e s.can.be.used.outside.a.function
56cc0 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
56ce0 65 22 3e 3c 73 70 61 6e 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
56d00 70 61 6e 3e 20 6f 73 5f 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pan>.os_msg.=.<span.class="tok-k
56d20 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 67 65 74 w">switch</span>.(builtin.target
56d40 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 3d 22 6c .os.tag).{</span>.<span.class="l
56d60 69 6e 65 22 3e 20 20 20 20 2e 6c 69 6e 75 78 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 ine">.....linux.=&gt;.<span.clas
56d80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 65 20 66 6f 75 6e 64 20 61 20 6c 69 6e s="tok-str">&quot;we.found.a.lin
56da0 75 78 20 75 73 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 ux.user&quot;</span>,</span>.<sp
56dc0 61 6e 20 63 6c 61 73 73 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=
56de0 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e "tok-kw">else</span>.=&gt;.<span
56e00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 74 20 61 20 6c 69 6e .class="tok-str">&quot;not.a.lin
56e20 75 78 20 75 73 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 ux.user&quot;</span>,</span>.<sp
56e40 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.
56e60 63 6c 61 73 73 3d 22 6c 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
56e80 3d 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
56ea0 22 3e 2f 2f 20 49 6e 73 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 73 77 69 74 63 68 20 73 ">//.Inside.a.function,.switch.s
56ec0 74 61 74 65 6d 65 6e 74 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 72 65 20 63 6f 6d 70 69 6c 65 tatements.implicitly.are.compile
56ee0 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d -time</span></span>.<span.class=
56f00 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"
56f20 3e 2f 2f 20 65 76 61 6c 75 61 74 65 64 20 69 66 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 >//.evaluated.if.the.target.expr
56f40 65 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 3c 2f 73 ession.is.compile-time.known.</s
56f60 70 61 6e 3e 3c 2f 73 70 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"><
56f80 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>.
56fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 <span.class="tok-str">&quot;swit
56fc0 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ch.inside.function&quot;</span>.
56fe0 7b 3c 2f 73 70 61 6e 3e 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">....
57000 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
57020 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 3c 2f 73 70 n>.(builtin.target.os.tag).{</sp
57040 61 6e 3e 0a 3c 73 70 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">.........
57060 66 75 63 68 73 69 61 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 fuchsia.=&gt;.{</span>.<span.cla
57080 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
570a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 20 61 6e 20 4f 53 20 6f 74 68 65 s="tok-comment">//.On.an.OS.othe
570c0 72 20 74 68 61 6e 20 66 75 63 68 73 69 61 2c 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 65 76 65 r.than.fuchsia,.block.is.not.eve
570e0 6e 20 61 6e 61 6c 79 7a 65 64 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n.analyzed,</span></span>.<span.
57100 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
57120 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 6f 20 74 68 69 73 20 63 6f lass="tok-comment">//.so.this.co
57140 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 mpile.error.is.not.triggered.</s
57160 70 61 6e 3e 3c 2f 73 70 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">.
57180 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ...........<span.class="tok-comm
571a0 65 6e 74 22 3e 2f 2f 20 4f 6e 20 66 75 63 68 73 69 61 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 ent">//.On.fuchsia.this.compile.
571c0 65 72 72 6f 72 20 77 6f 75 6c 64 20 62 65 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e error.would.be.triggered.</span>
571e0 3c 2f 73 70 61 6e 3e 0a 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">.....
57200 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"
57220 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 >@compileError</span>(<span.clas
57240 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 63 68 73 69 61 20 6e 6f 74 20 73 75 s="tok-str">&quot;fuchsia.not.su
57260 70 70 6f 72 74 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 73 pported&quot;</span>);</span>.<s
57280 70 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 2c 3c 2f 73 70 61 pan.class="line">........},</spa
572a0 6e 3e 0a 3c 73 70 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
572c0 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>.=
572e0 26 67 74 3b 20 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 &gt;.{},</span>.<span.class="lin
57300 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
57320 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
57340 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
57360 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
57380 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
573a0 67 20 74 65 73 74 20 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c g.test.switch.zig</kbd></span>.<
573c0 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
573e0 3b 73 77 69 74 63 68 20 73 69 6d 70 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e ;switch.simple&quot;....OK</span
57400 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 20 26 71 >.<span.class="line">2/2.test.&q
57420 75 6f 74 3b 73 77 69 74 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b uot;switch.inside.function&quot;
57440 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"
57460 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 73 61 >All.2.tests.passed.</span>.</sa
57480 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>....
574a0 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
574c0 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></
574e0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 61 70 74 span></code>.can.be.used.to.capt
57500 75 72 65 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 6f 66 20 61 20 ure.the.field.values.......of.a.
57520 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 <a.href="#Tagged-union">Tagged.u
57540 6e 69 6f 6e 3c 2f 61 3e 2e 20 4d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 66 nion</a>..Modifications.to.the.f
57560 69 65 6c 64 20 76 61 6c 75 65 73 20 63 61 6e 20 62 65 0a 20 20 20 20 20 20 64 6f 6e 65 20 62 79 ield.values.can.be.......done.by
57580 20 70 6c 61 63 69 6e 67 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .placing.a.<code><span.class="li
575a0 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 63 ne">*</span></code>.before.the.c
575c0 61 70 74 75 72 65 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 2c 0a 20 20 20 20 20 20 74 75 72 6e apture.variable.name,.......turn
575e0 69 6e 67 20 69 74 20 69 6e 74 6f 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 ing.it.into.a.pointer........</p
57600 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
57620 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
57640 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 67 3c 2f 63 69 74 est_switch_tagged_union.zig</cit
57660 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.
57680 63 6c 61 73 73 3d 22 6c 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
576a0 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
576c0 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>
576e0 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
57700 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;</
57720 73 70 61 6e 3e 0a 3c 73 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>
57740 0a 3c 73 70 61 6e 20 63 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=
57760 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
57780 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 ="tok-str">&quot;switch.on.tagge
577a0 64 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 0a 3c 73 d.union&quot;</span>.{</span>.<s
577c0 70 61 6e 20 63 6c 61 73 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
577e0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c ="tok-kw">const</span>.Point.=.<
57800 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
57820 3e 20 7b 3c 2f 73 70 61 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">..
57840 20 20 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ......x:.<span.class="tok-type">
57860 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c u8</span>,</span>.<span.class="l
57880 69 6e 65 22 3e 20 20 20 20 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ine">........y:.<span.class="tok
578a0 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
578c0 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.
578e0 63 6c 61 73 73 3d 22 6c 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
57900 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 49 74 65 6d 20 3d 20 3c 73 70 61 6e 20 k-kw">const</span>.Item.=.<span.
57920 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 3c 73 70 61 class="tok-kw">union</span>(<spa
57940 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 29 20 7b 3c n.class="tok-kw">enum</span>).{<
57960 2f 73 70 61 6e 3e 0a 3c 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">......
57980 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c ..a:.<span.class="tok-type">u32<
579a0 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
579c0 22 3e 20 20 20 20 20 20 20 20 63 3a 20 50 6f 69 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">........c:.Point,</span>.<span
579e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 64 2c 3c 2f 73 70 61 6e 3e 0a .class="line">........d,</span>.
57a00 3c 73 70 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 3a 20 3c 73 <span.class="line">........e:.<s
57a20 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>,
57a40 3c 2f 73 70 61 6e 3e 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">....}
57a60 3b 3c 2f 73 70 61 6e 3e 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
57a80 61 6e 3e 0a 3c 73 70 61 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
57aa0 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 20 3d 20 49 .class="tok-kw">var</span>.a.=.I
57ac0 74 65 6d 7b 20 2e 63 20 3d 20 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 tem{..c.=.Point{..x.=.<span.clas
57ae0 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 3d 20 3c 73 s="tok-number">1</span>,..y.=.<s
57b00 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 20 pan.class="tok-number">2</span>.
57b20 7d 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"><
57b40 2f 73 70 61 6e 3e 0a 3c 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
57b60 70 61 6e 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 63 pan.class="tok-comment">//.Switc
57b80 68 69 6e 67 20 6f 6e 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 65 6e 75 6d 73 20 69 73 20 61 6c hing.on.more.complex.enums.is.al
57ba0 6c 6f 77 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 lowed.</span></span>.<span.class
57bc0 3d 22 6c 69 6e 65 22 3e 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"
57be0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.b.=.<span.class="t
57c00 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 3c 2f 73 70 61 6e ok-kw">switch</span>.(a).{</span
57c20 3e 0a 3c 73 70 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
57c40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 63 61 70 74 an.class="tok-comment">//.A.capt
57c60 75 72 65 20 67 72 6f 75 70 20 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 61 20 6d 61 74 63 68 2c ure.group.is.allowed.on.a.match,
57c80 20 61 6e 64 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 65 6e 75 6d 3c 2f 73 70 61 6e 3e .and.will.return.the.enum</span>
57ca0 3c 2f 73 70 61 6e 3e 0a 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">.....
57cc0 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">//.
57ce0 76 61 6c 75 65 20 6d 61 74 63 68 65 64 2e 20 49 66 20 74 68 65 20 70 61 79 6c 6f 61 64 20 74 79 value.matched..If.the.payload.ty
57d00 70 65 73 20 6f 66 20 62 6f 74 68 20 63 61 73 65 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 3c 2f pes.of.both.cases.are.the.same</
57d20 73 70 61 6e 3e 3c 2f 73 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">
57d40 20 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
57d60 22 3e 2f 2f 20 74 68 65 79 20 63 61 6e 20 62 65 20 70 75 74 20 69 6e 74 6f 20 74 68 65 20 73 61 ">//.they.can.be.put.into.the.sa
57d80 6d 65 20 73 77 69 74 63 68 20 70 72 6f 6e 67 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c me.switch.prong.</span></span>.<
57da0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 49 74 65 6d 2e 61 span.class="line">........Item.a
57dc0 2c 20 49 74 65 6d 2e 65 20 3d 26 67 74 3b 20 7c 69 74 65 6d 7c 20 69 74 65 6d 2c 3c 2f 73 70 61 ,.Item.e.=&gt;.|item|.item,</spa
57de0 6e 3e 0a 3c 73 70 61 6e 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
57e00 70 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
57e20 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 72 65 66 65 72 65 6e 63 lass="tok-comment">//.A.referenc
57e40 65 20 74 6f 20 74 68 65 20 6d 61 74 63 68 65 64 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 62 e.to.the.matched.value.can.be.ob
57e60 74 61 69 6e 65 64 20 75 73 69 6e 67 20 60 2a 60 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c tained.using.`*`.syntax.</span><
57e80 2f 73 70 61 6e 3e 0a 3c 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">......
57ea0 20 20 49 74 65 6d 2e 63 20 3d 26 67 74 3b 20 7c 2a 69 74 65 6d 7c 20 62 6c 6b 3a 20 7b 3c 2f 73 ..Item.c.=&gt;.|*item|.blk:.{</s
57ec0 70 61 6e 3e 0a 3c 73 70 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">........
57ee0 20 20 20 20 69 74 65 6d 2e 2a 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ....item.*.x.+=.<span.class="tok
57f00 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.
57f20 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
57f40 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 6c 6b 20 lass="tok-kw">break</span>.:blk.
57f60 3c 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
57f80 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">...
57fa0 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
57fc0 22 3e 3c 2f 73 70 61 6e 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">...
57fe0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
58000 2f 20 4e 6f 20 65 6c 73 65 20 69 73 20 72 65 71 75 69 72 65 64 20 69 66 20 74 68 65 20 74 79 70 /.No.else.is.required.if.the.typ
58020 65 73 20 63 61 73 65 73 20 77 61 73 20 65 78 68 61 75 73 74 69 76 65 6c 79 20 68 61 6e 64 6c 65 es.cases.was.exhaustively.handle
58040 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 69 6e d</span></span>.<span.class="lin
58060 65 22 3e 20 20 20 20 20 20 20 20 49 74 65 6d 2e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c e">........Item.d.=&gt;.<span.cl
58080 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e ass="tok-number">8</span>,</span
580a0 3e 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
580c0 6e 3e 0a 3c 73 70 61 6e 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
580e0 70 61 6e 20 63 6c 61 73 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
58100 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.==
58120 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 .<span.class="tok-number">6</spa
58140 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">.
58160 20 20 20 3c 73 70 61 6e 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
58180 6e 3e 20 65 78 70 65 63 74 28 61 2e 63 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.expect(a.c.x.==.<span.class="
581a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">2</span>);</span>.<s
581c0 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>
581e0 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
58200 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
58220 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
58240 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 77 69 74 63 68 ine">$.<kbd>zig.test.test_switch
58260 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c _tagged_union.zig</kbd></span>.<
58280 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
582a0 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 2e 2e 2e ;switch.on.tagged.union&quot;...
582c0 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
582e0 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>
58300 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 73 </pre></figure>.......<p>See.als
58320 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d o:</p><ul>.<li><a.href="#comptim
58340 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 65 66 e">comptime</a></li>.<li><a.href
58360 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ="#enum">enum</a></li>.<li><a.hr
58380 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 ef="#compileError">@compileError
583a0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d </a></li>.<li><a.href="#Compile-
583c0 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e Variables">Compile.Variables</a>
583e0 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 68 61 </li>.</ul>.........<h3.id="Exha
58400 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 ustive-Switching"><a.href="nav.x
58420 68 74 6d 6c 23 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e 45 html#toc-Exhaustive-Switching">E
58440 78 68 61 75 73 74 69 76 65 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 xhaustive.Switching</a>.<a.class
58460 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 ="hdr".href="#Exhaustive-Switchi
58480 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ng">..</a></h3>........<p>......
584a0 20 57 68 65 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .When.a.<code><span.class="line"
584c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 ><span.class="tok-kw">switch</sp
584e0 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 64 6f 65 an></span></code>.expression.doe
58500 73 20 6e 6f 74 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 s.not.have.an.<code><span.class=
58520 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 "line"><span.class="tok-kw">else
58540 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 2c 0a 20 20 </span></span></code>.clause,...
58560 20 20 20 20 69 74 20 6d 75 73 74 20 65 78 68 61 75 73 74 69 76 65 6c 79 20 6c 69 73 74 20 61 6c ....it.must.exhaustively.list.al
58580 6c 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2e 20 46 61 69 6c 75 72 65 20 74 l.the.possible.values..Failure.t
585a0 6f 20 64 6f 20 73 6f 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 3a 0a 20 20 20 20 o.do.so.is.a.compile.error:.....
585c0 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
585e0 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
58600 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 3e le">test.zig</cite></figcaption>
58620 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
58640 70 61 6e 20 63 6c 61 73 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>.
58660 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 3e 65 6e 75 Color.=.<span.class="tok-kw">enu
58680 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 6c m</span>.{</span>.<span.class="l
586a0 69 6e 65 22 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">....auto,</span>.<span.clas
586c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 66 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 s="line">....off,</span>.<span.c
586e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lass="line">....on,</span>.<span
58700 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
58720 61 73 73 3d 22 6c 69 6e 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="
58740 6c 69 6e 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<
58760 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
58780 6f 74 3b 65 78 68 61 75 73 74 69 76 65 20 73 77 69 74 63 68 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 ot;exhaustive.switching&quot;</s
587a0 70 61 6e 3e 20 7b 3c 2f 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"
587c0 3e 20 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<
587e0 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 3b 3c 2f 73 70 61 6e 3e /span>.color.=.Color.off;</span>
58800 0a 3c 73 70 61 6e 20 63 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
58820 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 6f 6c 6f ass="tok-kw">switch</span>.(colo
58840 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">.
58860 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e 61 75 74 6f 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 .......Color.auto.=&gt;.{},</spa
58880 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f n>.<span.class="line">........Co
588a0 6c 6f 72 2e 6f 6e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lor.on.=&gt;.{},</span>.<span.cl
588c0 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
588e0 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>
58900 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
58920 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
58940 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">$
58960 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
58980 70 61 6e 3e 0a 3c 73 70 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
589a0 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
589c0 3a 39 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 :9:5:.</span><span.class="t31_1"
589e0 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
58a00 22 3e 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 20 27 43 6f 6c 6f 72 2e 6f 66 66 27 20 ">enumeration.value.'Color.off'.
58a20 6e 6f 74 20 68 61 6e 64 6c 65 64 20 69 6e 20 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 not.handled.in.switch</span></sp
58a40 61 6e 3e 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 77 69 74 63 an>.<span.class="line">....switc
58a60 68 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 h.(color).{</span>.<span.class="
58a80 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">^<
58aa0 2f 73 70 61 6e 3e 3c 2f 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"
58ac0 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
58ae0 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 32 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 /test.zig:7:29:.</span><span.cla
58b00 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
58b20 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e ass="t0_1">referenced.here</span
58b40 3e 3c 2f 73 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 ></span>.<span.class="line">test
58b60 20 26 71 75 6f 74 3b 65 78 68 61 75 73 74 69 76 65 20 73 77 69 74 63 68 69 6e 67 26 71 75 6f 74 .&quot;exhaustive.switching&quot
58b80 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 20 20 ;.{</span>.<span.class="line">..
58ba0 20 20 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.
58bc0 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>.</
58be0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 samp></pre></figure>............
58c00 20 20 20 3c 68 33 20 69 64 3d 22 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c ...<h3.id="Switching-with-Enum-L
58c20 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d iterals"><a.href="nav.xhtml#toc-
58c40 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 Switching-with-Enum-Literals">Sw
58c60 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c itching.with.Enum.Literals</a>.<
58c80 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 77 69 74 63 68 69 6e 67 2d 77 a.class="hdr".href="#Switching-w
58ca0 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ith-Enum-Literals">..</a></h3>..
58cc0 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 45 6e 75 6d 2d 4c ......<p>.......<a.href="#Enum-L
58ce0 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 63 61 6e 20 62 iterals">Enum.Literals</a>.can.b
58d00 65 20 75 73 65 66 75 6c 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e.useful.to.use.with.<code><span
58d20 20 63 6c 61 73 73 3d 22 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
58d40 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 74 w">switch</span></span></code>.t
58d60 6f 20 61 76 6f 69 64 0a 20 20 20 20 20 20 72 65 70 65 74 69 74 69 76 65 6c 79 20 73 70 65 63 69 o.avoid.......repetitively.speci
58d80 66 79 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 6f fying.<a.href="#enum">enum</a>.o
58da0 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 20 74 79 70 r.<a.href="#union">union</a>.typ
58dc0 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 72 65 3e 3c 66 69 es:.......</p>.......<figure><fi
58de0 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
58e00 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 lass="file">test_exhaustive_swit
58e20 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ch.zig</cite></figcaption><pre><
58e40 63 6f 64 65 3e 3c 73 70 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
58e60 61 73 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.=.
58e80 3c 73 70 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
58ea0 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">&
58ec0 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>.<
58ee0 73 70 61 6e 20 63 6c 61 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
58f00 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
58f20 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
58f40 61 73 73 3d 22 6c 69 6e 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="
58f60 6c 69 6e 65 22 3e 3c 73 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
58f80 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
58fa0 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.
58fc0 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
58fe0 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>
59000 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
59020 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>.
59040 3c 73 70 61 6e 20 63 6c 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
59060 20 63 6c 61 73 73 3d 22 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
59080 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-
590a0 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 str">&quot;enum.literals.with.sw
590c0 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e itch&quot;</span>.{</span>.<span
590e0 20 63 6c 61 73 73 3d 22 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
59100 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f ok-kw">const</span>.color.=.Colo
59120 72 2e 6f 66 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 r.off;</span>.<span.class="line"
59140 3e 20 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<
59160 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.result.=.<span.class="tok
59180 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 -kw">switch</span>.(color).{</sp
591a0 61 6e 3e 0a 3c 73 70 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">.........
591c0 61 75 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c auto.=&gt;.<span.class="tok-null
591e0 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
59200 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 ss="line">.........on.=&gt;.<spa
59220 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c n.class="tok-null">false</span>,
59240 3c 2f 73 70 61 6e 3e 0a 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">.....
59260 20 20 20 2e 6f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ....off.=&gt;.<span.class="tok-n
59280 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
592a0 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.
592c0 63 6c 61 73 73 3d 22 6c 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
592e0 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 75 6c 74 29 3b k-kw">try</span>.expect(result);
59300 3c 2f 73 70 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
59320 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
59340 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
59360 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
59380 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
593a0 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 3c est_exhaustive_switch.zig</kbd><
593c0 2f 73 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
593e0 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 st.&quot;enum.literals.with.swit
59400 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 6e 20 63 6c 61 73 ch&quot;....OK</span>.<span.clas
59420 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
59440 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>......
59460 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 77 68 69 6c 65 22 3e 3c ................<h2.id="while"><
59480 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 77 68 69 6c 65 22 3e 77 68 69 a.href="nav.xhtml#toc-while">whi
594a0 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 77 68 69 le</a>.<a.class="hdr".href="#whi
594c0 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 le">..</a></h2>........<p>......
594e0 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 65 70 65 61 74 65 .A.while.loop.is.used.to.repeate
59500 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 75 6e 74 69 6c 0a dly.execute.an.expression.until.
59520 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 20 6c 6f 6e 67 65 ......some.condition.is.no.longe
59540 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 66 69 67 75 72 65 r.true........</p>.......<figure
59560 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
59580 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 2f 63 69 74 65 3e te.class="file">while.zig</cite>
595a0 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
595c0 61 73 73 3d 22 6c 69 6e 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">
595e0 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 73 const</span>.expect.=.<span.clas
59600 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>(<
59620 73 70 61 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
59640 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 70 uot;</span>).testing.expect;</sp
59660 61 6e 3e 0a 3c 73 70 61 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>.<
59680 73 70 61 6e 20 63 6c 61 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
596a0 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="
596c0 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 26 71 75 6f 74 3b tok-str">&quot;while.basic&quot;
596e0 3c 2f 73 70 61 6e 3e 20 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
59700 6e 65 22 3e 20 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
59720 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.i:.<span.class="tok-type
59740 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
59760 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
59780 20 63 6c 61 73 73 3d 22 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
597a0 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 61 ok-kw">while</span>.(i.&lt;.<spa
597c0 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 20 n.class="tok-number">10</span>).
597e0 7b 3c 2f 73 70 61 6e 3e 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">....
59800 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 6e 75 6d 62 65 72 ....i.+=.<span.class="tok-number
59820 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="
59840 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="
59860 6c 69 6e 65 22 3e 20 20 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
59880 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ry</span>.expect(i.==.<span.clas
598a0 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
598c0 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
598e0 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
59900 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</
59920 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
59940 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 6c 65 2e 7a s="line">$.<kbd>zig.test.while.z
59960 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
59980 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 73 69 63 26 71 75 e">1/1.test.&quot;while.basic&qu
599a0 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
599c0 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>.<
599e0 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>.
59a00 20 20 20 20 20 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......Use.<code><span.class="lin
59a20 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 e"><span.class="tok-kw">break</s
59a40 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 78 69 74 20 61 20 77 68 69 pan></span></code>.to.exit.a.whi
59a60 6c 65 20 6c 6f 6f 70 20 65 61 72 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 le.loop.early........</p>.......
59a80 3c 66 69 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
59aa0 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 6c 65 2e 7a 69 67 ap"><cite.class="file">while.zig
59ac0 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><
59ae0 73 70 61 6e 20 63 6c 61 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
59b00 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 ok-kw">const</span>.expect.=.<sp
59b20 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</
59b40 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
59b60 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 t;std&quot;</span>).testing.expe
59b80 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"></
59ba0 73 70 61 6e 3e 0a 3c 73 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
59bc0 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.
59be0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 72 65 61 class="tok-str">&quot;while.brea
59c00 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c k&quot;</span>.{</span>.<span.cl
59c20 61 73 73 3d 22 6c 69 6e 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-
59c40 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">var</span>.i:.<span.class="t
59c60 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
59c80 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
59ca0 3e 0a 3c 73 70 61 6e 20 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
59cc0 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 70 61 lass="tok-kw">while</span>.(<spa
59ce0 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 20 n.class="tok-null">true</span>).
59d00 7b 3c 2f 73 70 61 6e 3e 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">....
59d20 20 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
59d40 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 6e 75 6d 62 65 72 n>.(i.==.<span.class="tok-number
59d60 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 63 6c 61 73 73 3d ">10</span>)</span>.<span.class=
59d80 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="
59da0 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
59dc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 an.class="line">........i.+=.<sp
59de0 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>;<
59e00 2f 73 70 61 6e 3e 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">....}<
59e20 2f 73 70 61 6e 3e 0a 3c 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
59e40 70 61 6e 20 63 6c 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
59e60 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 pect(i.==.<span.class="tok-numbe
59e80 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">10</span>);</span>.<span.clas
59ea0 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></
59ec0 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
59ee0 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><
59f00 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">$.<
59f20 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 64 3e 3c 2f 73 70 kbd>zig.test.while.zig</kbd></sp
59f40 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.
59f60 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 20 4f 4b 3c 2f 73 &quot;while.break&quot;....OK</s
59f80 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
59fa0 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>
59fc0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 63 </figure>.......<p>.......Use.<c
59fe0 6f 64 65 3e 3c 73 70 61 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
5a000 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 61 ss="tok-kw">continue</span></spa
5a020 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 74 68 65 20 62 65 n></code>.to.jump.back.to.the.be
5a040 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ginning.of.the.loop........</p>.
5a060 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=
5a080 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
5a0a0 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><
5a0c0 63 6f 64 65 3e 3c 73 70 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
5a0e0 61 73 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
5a100 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
5a120 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
5a140 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
5a160 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
5a180 6e 65 22 3e 3c 2f 73 70 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"><
5a1a0 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>.
5a1c0 3c 73 70 61 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
5a1e0 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 2f 73 70 61 6e 3e e.continue&quot;</span>.{</span>
5a200 0a 3c 73 70 61 6e 20 63 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
5a220 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.i:.<span
5a240 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>.=
5a260 20 3c 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
5a280 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">..
5a2a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 ..<span.class="tok-kw">while</sp
5a2c0 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 an>.(<span.class="tok-null">true
5a2e0 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>).{</span>.<span.class="l
5a300 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 61 73 73 3d 22 74 ine">........i.+=.<span.class="t
5a320 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
5a340 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
5a360 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 6c 74 3b 20 3c 73 ss="tok-kw">if</span>.(i.&lt;.<s
5a380 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>
5a3a0 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 20 20 )</span>.<span.class="line">....
5a3c0 20 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
5a3e0 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 20 63 6c 61 73 73 tinue</span>;</span>.<span.class
5a400 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
5a420 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 61 6e 20 -kw">break</span>;</span>.<span.
5a440 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.
5a460 63 6c 61 73 73 3d 22 6c 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
5a480 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 k-kw">try</span>.expect(i.==.<sp
5a4a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 an.class="tok-number">10</span>)
5a4c0 3b 3c 2f 73 70 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
5a4e0 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
5a500 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">
5a520 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
5a540 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.
5a560 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 61 6e 20 63 6c 61 while.zig</kbd></span>.<span.cla
5a580 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 68 69 6c 65 20 63 ss="line">1/1.test.&quot;while.c
5a5a0 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 0a 3c 73 70 61 6e ontinue&quot;....OK</span>.<span
5a5c0 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
5a5e0 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>.
5a600 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 73 75 70 70 ......<p>.......While.loops.supp
5a620 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 77 68 69 63 68 20 ort.a.continue.expression.which.
5a640 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 20 20 20 20 20 20 is.executed.when.the.loop.......
5a660 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 70 61 6e 20 63 6c is.continued..The.<code><span.cl
5a680 61 73 73 3d 22 6c 69 6e 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">
5a6a0 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 continue</span></span></code>.ke
5a6c0 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 73 69 6f 6e 2e 0a yword.respects.this.expression..
5a6e0 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
5a700 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
5a720 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 63 61 70 ="file">while.zig</cite></figcap
5a740 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
5a760 65 22 3e 3c 73 70 61 6e 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
5a780 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 pan>.expect.=.<span.class="tok-b
5a7a0 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
5a7c0 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
5a7e0 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an>).testing.expect;</span>.<spa
5a800 6e 20 63 6c 61 73 73 3d 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
5a820 73 73 3d 22 6c 69 6e 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
5a840 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"
5a860 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 20 65 78 70 72 65 >&quot;while.loop.continue.expre
5a880 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 3e 0a 3c 73 70 61 ssion&quot;</span>.{</span>.<spa
5a8a0 6e 20 63 6c 61 73 73 3d 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="
5a8c0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">var</span>.i:.<span.clas
5a8e0 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
5a900 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>;</
5a920 73 70 61 6e 3e 0a 3c 73 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
5a940 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>.(
5a960 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">
5a980 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 3d 22 10</span>).:.(i.+=.<span.class="
5a9a0 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 73 70 61 6e 3e 0a tok-number">1</span>).{}</span>.
5a9c0 3c 73 70 61 6e 20 63 6c 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
5a9e0 73 73 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.
5aa00 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</
5aa20 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
5aa40 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"></
5aa60 73 70 61 6e 3e 0a 3c 73 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
5aa80 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.
5aaa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 class="tok-str">&quot;while.loop
5aac0 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 20 63 6f 6d 70 6c .continue.expression,.more.compl
5aae0 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 6e 3e 0a 3c 73 70 icated&quot;</span>.{</span>.<sp
5ab00 61 6e 20 63 6c 61 73 73 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=
5ab20 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.i:.<span.cla
5ab40 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 ss="tok-type">usize</span>.=.<sp
5ab60 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>;<
5ab80 2f 73 70 61 6e 3e 0a 3c 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
5aba0 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 6a 3a pan.class="tok-kw">var</span>.j:
5abc0 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
5abe0 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">
5ac00 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
5ac20 6e 65 22 3e 20 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
5ac40 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 2a 20 6a 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 le</span>.(i.*.j.&lt;.<span.clas
5ac60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 7b s="tok-number">2000</span>).:.({
5ac80 20 69 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 .i.*=.<span.class="tok-number">2
5aca0 3c 2f 73 70 61 6e 3e 3b 20 6a 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>;.j.*=.<span.class="tok-n
5acc0 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 6e 3e 0a 3c 73 70 umber">3</span>;.}).{</span>.<sp
5ace0 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
5ad00 61 73 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 79 5f 69 6a 20 ass="tok-kw">const</span>.my_ij.
5ad20 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 73 3d 22 6c 69 6e =.i.*.j;</span>.<span.class="lin
5ad40 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">
5ad60 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 74 3b 20 3c 73 70 try</span>.expect(my_ij.&lt;.<sp
5ad80 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 3c 2f 73 70 61 6e an.class="tok-number">2000</span
5ada0 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">..
5adc0 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">}<
5ade0 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
5ae00 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
5ae20 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><
5ae40 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
5ae60 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 61 6e 20 63 t.while.zig</kbd></span>.<span.c
5ae80 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 77 68 69 6c 65 lass="line">1/2.test.&quot;while
5aea0 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 2e .loop.continue.expression&quot;.
5aec0 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">
5aee0 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 63 6f 6e 74 69 6e 2/2.test.&quot;while.loop.contin
5af00 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 63 61 74 65 64 26 ue.expression,.more.complicated&
5af20 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="
5af40 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 2f 73 70 61 6e 3e line">All.2.tests.passed.</span>
5af60 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
5af80 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 70 72 65 73 73 69 >.......While.loops.are.expressi
5afa0 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 72 65 73 73 69 6f ons..The.result.of.the.expressio
5afc0 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 68 65 20 3c 63 6f n.is.the.......result.of.the.<co
5afe0 64 65 3e 3c 73 70 61 6e 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
5b000 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 61 6e 3e 3c 2f 63 s="tok-kw">else</span></span></c
5b020 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 70 2c 20 77 68 69 ode>.clause.of.a.while.loop,.whi
5b040 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 74 68 65 20 63 6f ch.is.executed.when.......the.co
5b060 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 69 73 20 74 65 73 ndition.of.the.while.loop.is.tes
5b080 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 20 20 20 20 20 3c ted.as.false........</p>.......<
5b0a0 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
5b0c0 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
5b0e0 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 6f 64 65 3e 3c 73 an></span></code>,.like.<code><s
5b100 70 61 6e 20 63 6c 61 73 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
5b120 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
5b140 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 20 20 20 20 20 20 >,.accepts.a.value..............
5b160 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 73 75 6c 74 20 6f .parameter..This.is.the.result.o
5b180 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 3c f.the.<code><span.class="line"><
5b1a0 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>
5b1c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 </span></code>.expression.......
5b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 3c 63 6f 64 65 3e 3c 73 70 61 .............When.you.<code><spa
5b200 6e 20 63 6c 61 73 73 3d 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-
5b220 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 kw">break</span></span></code>.f
5b240 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 65 3e 3c 73 70 61 rom.a.while.loop,.the.<code><spa
5b260 6e 20 63 6c 61 73 73 3d 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-
5b280 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 kw">else</span></span></code>.br
5b2a0 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 64 2e 0a 20 20 20 anch.is.not.......evaluated.....
5b2c0 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
5b2e0 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
5b300 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 63 61 70 74 69 6f ile">while.zig</cite></figcaptio
5b320 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">
5b340 3c 73 70 61 6e 20 63 6c 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
5b360 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c >.expect.=.<span.class="tok-buil
5b380 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=
5b3a0 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>
5b3c0 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ).testing.expect;</span>.<span.c
5b3e0 6c 61 73 73 3d 22 6c 69 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=
5b400 22 6c 69 6e 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
5b420 3c 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
5b440 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 3e 20 7b 3c 2f 73 uot;while.else&quot;</span>.{</s
5b460 70 61 6e 3e 0a 3c 73 70 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
5b480 6e 20 63 6c 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
5b4a0 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 61 73 73 3d 22 74 ct(rangeHasNumber(<span.class="t
5b4c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">0</span>,.<span.class
5b4e0 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 73 70 61 6e 20 63 ="tok-number">10</span>,.<span.c
5b500 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 lass="tok-number">5</span>));</s
5b520 70 61 6e 3e 0a 3c 73 70 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
5b540 6e 20 63 6c 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
5b560 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 6c 61 73 73 3d 22 ct(!rangeHasNumber(<span.class="
5b580 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">0</span>,.<span.clas
5b5a0 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 73 70 61 6e 20 s="tok-number">10</span>,.<span.
5b5c0 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 6e 3e 29 29 3b 3c class="tok-number">15</span>));<
5b5e0 2f 73 70 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
5b600 6e 3e 0a 3c 73 70 61 6e 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
5b620 70 61 6e 20 63 6c 61 73 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
5b640 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
5b660 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 28 62 65 67 69 6e -fn">rangeHasNumber</span>(begin
5b680 3a 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</
5b6a0 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 6f 6b 2d 74 79 70 span>,.end:.<span.class="tok-typ
5b6c0 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 73 70 61 6e 20 63 e">usize</span>,.number:.<span.c
5b6e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 lass="tok-type">usize</span>).<s
5b700 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e pan.class="tok-type">bool</span>
5b720 20 7b 3c 2f 73 70 61 6e 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">...
5b740 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>
5b760 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 6c 61 73 73 3d 22 .i.=.begin;</span>.<span.class="
5b780 6c 69 6e 65 22 3e 20 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
5b7a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 eturn</span>.<span.class="tok-kw
5b7c0 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 29 20 3a 20 28 69 ">while</span>.(i.&lt;.end).:.(i
5b7e0 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</
5b800 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
5b820 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">
5b840 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 2f 73 70 61 6e 3e if</span>.(i.==.number).{</span>
5b860 0a 3c 73 70 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">............
5b880 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
5b8a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 >.<span.class="tok-null">true</s
5b8c0 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">
5b8e0 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
5b900 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
5b920 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 6e 75 6c 6c lse</span>.<span.class="tok-null
5b940 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
5b960 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><
5b980 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
5b9a0 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>
5b9c0 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">$.
5b9e0 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 64 3e 3c 2f 73 <kbd>zig.test.while.zig</kbd></s
5ba00 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
5ba20 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 20 4f 4b 3c 2f 73 .&quot;while.else&quot;....OK</s
5ba40 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
5ba60 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>
5ba80 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 2d </figure>.......<h3.id="Labeled-
5baa0 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4c 61 while"><a.href="nav.xhtml#toc-La
5bac0 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 20 3c beled-while">Labeled.while</a>.<
5bae0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 a.class="hdr".href="#Labeled-whi
5bb00 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 le">..</a></h3>........<p>When.a
5bb20 20 3c 63 6f 64 65 3e 3c 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.
5bb40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-kw">while</span></spa
5bb60 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 n></code>.loop.is.labeled,.it.ca
5bb80 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 n.be.referenced.from.a.<code><sp
5bba0 61 6e 20 63 6c 61 73 73 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
5bbc0 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a -kw">break</span></span></code>.
5bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ..............or.<code><span.cla
5bc00 73 73 3d 22 6c 69 6e 65 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
5bc20 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f ontinue</span></span></code>.fro
5bc40 6d 20 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 20 m.within.a.nested.loop:</p>.....
5bc60 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
5bc80 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 6e 65 -cap"><cite.class="file">test_ne
5bca0 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f sted_break.zig</cite></figcaptio
5bcc0 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">
5bce0 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>
5bd00 20 3c 73 70 61 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 .<span.class="tok-str">&quot;nes
5bd20 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ted.break&quot;</span>.{</span>.
5bd40 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
5bd60 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>.
5bd80 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 70 (<span.class="tok-null">true</sp
5bda0 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>).{</span>.<span.class="line"
5bdc0 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 77 68 >........<span.class="tok-kw">wh
5bde0 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
5be00 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 l">true</span>).{</span>.<span.c
5be20 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
5be40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 ass="tok-kw">break</span>.:outer
5be60 3b 3c 2f 73 70 61 6e 3e 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">....
5be80 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">
5bea0 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">
5bec0 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
5bee0 61 6e 3e 0a 3c 73 70 61 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
5bf00 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
5bf20 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 63 6f 6e 74 69 ass="tok-str">&quot;nested.conti
5bf40 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nue&quot;</span>.{</span>.<span.
5bf60 63 6c 61 73 73 3d 22 6c 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
5bf80 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">var</span>.i:.<span.class=
5bfa0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 "tok-type">usize</span>.=.<span.
5bfc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 class="tok-number">0</span>;</sp
5bfe0 61 6e 3e 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 an>.<span.class="line">....outer
5c000 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 :.<span.class="tok-kw">while</sp
5c020 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d an>.(i.&lt;.<span.class="tok-num
5c040 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 6c ber">10</span>).:.(i.+=.<span.cl
5c060 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 ass="tok-number">1</span>).{</sp
5c080 61 6e 3e 0a 3c 73 70 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">........<
5c0a0 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>
5c0c0 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
5c0e0 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
5c100 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
5c120 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e w">continue</span>.:outer;</span
5c140 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f >.<span.class="line">........}</
5c160 73 70 61 6e 3e 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">....}</
5c180 73 70 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
5c1a0 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><
5c1c0 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
5c1e0 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.
5c200 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
5c220 74 5f 6e 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 t_nested_break.zig</kbd></span>.
5c240 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
5c260 74 3b 6e 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 t;nested.break&quot;....OK</span
5c280 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 20 26 71 >.<span.class="line">2/2.test.&q
5c2a0 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c uot;nested.continue&quot;....OK<
5c2c0 2f 73 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.
5c2e0 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
5c300 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=
5c320 22 77 68 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 "while-with-Optionals"><a.href="
5c340 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 nav.xhtml#toc-while-with-Optiona
5c360 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 ls">while.with.Optionals</a>.<a.
5c380 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 class="hdr".href="#while-with-Op
5c3a0 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a tionals">..</a></h3>........<p>.
5c3c0 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 ......Just.like.<a.href="#if">if
5c3e0 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 </a>.expressions,.while.loops.ca
5c400 6e 20 74 61 6b 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 n.take.an.optional.as.the.......
5c420 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 condition.and.capture.the.payloa
5c440 64 2e 20 57 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e d..When.<a.href="#null">null</a>
5c460 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 65 .is.encountered.the.loop.......e
5c480 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>......
5c4a0 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .When.the.<code><span.class="lin
5c4c0 65 22 3e 7c 78 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 e">|x|</span></code>.syntax.is.p
5c4e0 72 65 73 65 6e 74 20 6f 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c resent.on.a.<code><span.class="l
5c500 69 6e 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<
5c520 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 2c /span></span></code>.expression,
5c540 0a 20 20 20 20 20 20 74 68 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 .......the.while.condition.must.
5c560 68 61 76 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 have.an.<a.href="#Optional-Type"
5c580 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 >Optional.Type</a>........</p>..
5c5a0 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
5c5c0 6c 61 73 73 3d 22 6c 69 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"
5c5e0 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 >else</span></span></code>.branc
5c600 68 20 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 74 65 72 61 74 69 h.is.allowed.on.optional.iterati
5c620 6f 6e 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 on..In.this.case,.it.will.......
5c640 62 65 20 65 78 65 63 75 74 65 64 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6e 75 6c 6c 20 76 61 be.executed.on.the.first.null.va
5c660 6c 75 65 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 lue.encountered........</p>.....
5c680 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
5c6a0 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 6c 65 2e 7a -cap"><cite.class="file">while.z
5c6c0 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
5c6e0 3e 3c 73 70 61 6e 20 63 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=
5c700 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.=.<
5c720 73 70 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
5c740 3c 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
5c760 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
5c780 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">
5c7a0 3c 2f 73 70 61 6e 3e 0a 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
5c7c0 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
5c7e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 n.class="tok-str">&quot;while.nu
5c800 6c 6c 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ll.capture&quot;</span>.{</span>
5c820 0a 3c 73 70 61 6e 20 63 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
5c840 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 31 3a 20 3c 73 ass="tok-kw">var</span>.sum1:.<s
5c860 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u32</span>.
5c880 3d 20 3c 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
5c8a0 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">.
5c8c0 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ...numbers_left.=.<span.class="t
5c8e0 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 61 ok-number">3</span>;</span>.<spa
5c900 6e 20 63 6c 61 73 73 3d 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="
5c920 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 tok-kw">while</span>.(eventually
5c940 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e NullSequence()).|value|.{</span>
5c960 0a 3c 73 70 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 31 .<span.class="line">........sum1
5c980 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .+=.value;</span>.<span.class="l
5c9a0 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
5c9c0 69 6e 65 22 3e 20 20 20 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
5c9e0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c y</span>.expect(sum1.==.<span.cl
5ca00 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
5ca20 6e 3e 0a 3c 73 70 61 6e 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
5ca40 70 61 6e 20 63 6c 61 73 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
5ca60 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 32 3a 20 3c 73 70 61 6e ="tok-kw">var</span>.sum2:.<span
5ca80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">u32</span>.=.<
5caa0 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>
5cac0 3b 3c 2f 73 70 61 6e 3e 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">....
5cae0 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d numbers_left.=.<span.class="tok-
5cb00 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
5cb20 6c 61 73 73 3d 22 6c 69 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
5cb40 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c -kw">while</span>.(eventuallyNul
5cb60 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 lSequence()).|value|.{</span>.<s
5cb80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d pan.class="line">........sum2.+=
5cba0 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 65 .value;</span>.<span.class="line
5cbc0 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
5cbe0 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
5cc00 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
5cc20 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 3d 3d 20 3c 73 70 61 ">try</span>.expect(sum2.==.<spa
5cc40 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 3c n.class="tok-number">3</span>);<
5cc60 2f 73 70 61 6e 3e 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">....}<
5cc80 2f 73 70 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
5cca0 6e 3e 0a 3c 73 70 61 6e 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
5ccc0 70 61 6e 20 63 6c 61 73 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
5cce0 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:.<
5cd00 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>
5cd20 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
5cd40 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="
5cd60 6c 69 6e 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
5cd80 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 76 65 6e 74 75 pan>.<span.class="tok-fn">eventu
5cda0 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 3c 73 70 61 6e allyNullSequence</span>().?<span
5cdc0 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 3c 2f .class="tok-type">u32</span>.{</
5cde0 73 70 61 6e 3e 0a 3c 73 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
5ce00 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>.
5ce20 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>.(
5ce40 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 6f 6b numbers_left.==.<span.class="tok
5ce60 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 3d 22 -number">0</span>).<span.class="
5ce80 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-null">null</span>.<span.clas
5cea0 73 3d 22 74 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 s="tok-kw">else</span>.blk:.{</s
5cec0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
5cee0 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 2d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b numbers_left.-=.<span.class="tok
5cf00 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.
5cf20 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
5cf40 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 ="tok-kw">break</span>.:blk.numb
5cf60 65 72 73 5f 6c 65 66 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ers_left;</span>.<span.class="li
5cf80 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ne">....};</span>.<span.class="l
5cfa0 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
5cfc0 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
5cfe0 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>
5d000 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>
5d020 7a 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 zig.test.while.zig</kbd></span>.
5d040 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
5d060 74 3b 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b t;while.null.capture&quot;....OK
5d080 3c 2f 73 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
5d0a0 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
5d0c0 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
5d0e0 64 3d 22 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 d="while-with-Error-Unions"><a.h
5d100 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 ref="nav.xhtml#toc-while-with-Er
5d120 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 6f 72 20 55 6e 69 ror-Unions">while.with.Error.Uni
5d140 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 77 68 ons</a>.<a.class="hdr".href="#wh
5d160 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ile-with-Error-Unions">..</a></h
5d180 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 3>........<p>.......Just.like.<a
5d1a0 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 .href="#if">if</a>.expressions,.
5d1c0 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 65 72 72 6f 72 20 75 6e while.loops.can.take.an.error.un
5d1e0 69 6f 6e 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 ion.as.......the.condition.and.c
5d200 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 72 20 74 68 65 20 65 72 72 6f 72 20 apture.the.payload.or.the.error.
5d220 63 6f 64 65 2e 20 57 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 72 code..When.the.......condition.r
5d240 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 74 68 65 20 65 6c 73 65 esults.in.an.error.code.the.else
5d260 20 62 72 61 6e 63 68 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 6e 64 0a 20 20 20 20 20 20 74 .branch.is.evaluated.and.......t
5d280 68 65 20 6c 6f 6f 70 20 69 73 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a he.loop.is.finished........</p>.
5d2a0 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 6f 64 65 3e 3c ......<p>.......When.the.<code><
5d2c0 73 70 61 6e 20 63 6c 61 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
5d2e0 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 78 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">else</span>.|x|</span></c
5d300 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e 20 61 20 3c 63 6f 64 ode>.syntax.is.present.on.a.<cod
5d320 65 3e 3c 73 70 61 6e 20 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
5d340 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 2f 63 ="tok-kw">while</span></span></c
5d360 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 68 69 6c 65 ode>.expression,.......the.while
5d380 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 72 65 66 3d .condition.must.have.an.<a.href=
5d3a0 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 "#Error-Union-Type">Error.Union.
5d3c0 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 Type</a>........</p>.......<figu
5d3e0 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"><
5d400 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 2f 63 69 74 cite.class="file">while.zig</cit
5d420 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.
5d440 63 6c 61 73 73 3d 22 6c 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
5d460 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
5d480 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>
5d4a0 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
5d4c0 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;</
5d4e0 73 70 61 6e 3e 0a 3c 73 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>
5d500 0a 3c 73 70 61 6e 20 63 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=
5d520 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
5d540 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f 72 20 75 6e 69 ="tok-str">&quot;while.error.uni
5d560 6f 6e 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e on.capture&quot;</span>.{</span>
5d580 0a 3c 73 70 61 6e 20 63 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
5d5a0 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 31 3a 20 3c 73 ass="tok-kw">var</span>.sum1:.<s
5d5c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u32</span>.
5d5e0 3d 20 3c 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
5d600 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">.
5d620 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ...numbers_left.=.<span.class="t
5d640 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 61 ok-number">3</span>;</span>.<spa
5d660 6e 20 63 6c 61 73 73 3d 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="
5d680 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 tok-kw">while</span>.(eventually
5d6a0 45 72 72 6f 72 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e ErrorSequence()).|value|.{</span
5d6c0 3e 0a 3c 73 70 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
5d6e0 31 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1.+=.value;</span>.<span.class="
5d700 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"
5d720 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 61 >else</span>.|err|.{</span>.<spa
5d740 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
5d760 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 72 ss="tok-kw">try</span>.expect(er
5d780 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c r.==.<span.class="tok-kw">error<
5d7a0 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>.ReachedZero);</span>.<spa
5d7c0 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
5d7e0 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
5d800 61 73 73 3d 22 6c 69 6e 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="
5d820 6c 69 6e 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</
5d840 73 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.numbers_left:.<span.class=
5d860 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
5d880 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>;
5d8a0 3c 2f 73 70 61 6e 3e 0a 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
5d8c0 6e 3e 0a 3c 73 70 61 6e 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
5d8e0 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
5d900 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 65 6e 63 ="tok-fn">eventuallyErrorSequenc
5d920 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 74 79 70 65 e</span>().<span.class="tok-type
5d940 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 74 ">anyerror</span>!<span.class="t
5d960 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
5d980 61 6e 20 63 6c 61 73 73 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=
5d9a0 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">return</span>.<span.cla
5d9c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c ss="tok-kw">if</span>.(numbers_l
5d9e0 65 66 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e eft.==.<span.class="tok-number">
5da00 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 0</span>).<span.class="tok-kw">e
5da20 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 20 3c 73 70 61 6e 20 63 6c rror</span>.ReachedZero.<span.cl
5da40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c ass="tok-kw">else</span>.blk:.{<
5da60 2f 73 70 61 6e 3e 0a 3c 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">......
5da80 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 2d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..numbers_left.-=.<span.class="t
5daa0 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
5dac0 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
5dae0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 ss="tok-kw">break</span>.:blk.nu
5db00 6d 62 65 72 73 5f 6c 65 66 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mbers_left;</span>.<span.class="
5db20 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=
5db40 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
5db60 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="
5db80 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
5dba0 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
5dbc0 64 3e 7a 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 d>zig.test.while.zig</kbd></span
5dbe0 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
5dc00 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 26 71 75 uot;while.error.union.capture&qu
5dc20 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
5dc40 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>.<
5dc60 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 /samp></pre></figure>...........
5dc80 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 ....<h3.id="inline-while"><a.hre
5dca0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 f="nav.xhtml#toc-inline-while">i
5dcc0 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 20 68 nline.while</a>.<a.class="hdr".h
5dce0 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 3e 0a ref="#inline-while">..</a></h3>.
5dd00 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 61 6e .......<p>.......While.loops.can
5dd20 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 6f 6f .be.inlined..This.causes.the.loo
5dd40 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 61 6c p.to.be.unrolled,.which.......al
5dd60 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 73 20 lows.the.code.to.do.some.things.
5dd80 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 65 2c which.only.work.at.compile.time,
5dda0 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 72 73 .......such.as.use.types.as.firs
5ddc0 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 20 20 t.class.values........</p>......
5dde0 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-
5de00 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 6c cap"><cite.class="file">test_inl
5de20 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 6f 6e ine_while.zig</cite></figcaption
5de40 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"><
5de60 73 70 61 6e 20 63 6c 61 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>
5de80 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 .expect.=.<span.class="tok-built
5dea0 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="
5dec0 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>)
5dee0 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
5df00 61 73 73 3d 22 6c 69 6e 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="
5df20 6c 69 6e 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<
5df40 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
5df60 6f 74 3b 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ot;inline.while.loop&quot;</span
5df80 3e 20 7b 3c 2f 73 70 61 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">..
5dfa0 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 3c ..<span.class="tok-kw">comptime<
5dfc0 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 3c /span>.<span.class="tok-kw">var<
5dfe0 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 6d 62 /span>.i.=.<span.class="tok-numb
5e000 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
5e020 3d 22 6c 69 6e 65 22 3e 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"
5e040 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >var</span>.sum:.<span.class="to
5e060 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
5e080 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>
5e0a0 0a 3c 73 70 61 6e 20 63 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
5e0c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">inline</span>.<span
5e0e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 .class="tok-kw">while</span>.(i.
5e100 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 33 3c &lt;.<span.class="tok-number">3<
5e120 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 6f 6b /span>).:.(i.+=.<span.class="tok
5e140 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 61 -number">1</span>).{</span>.<spa
5e160 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
5e180 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 ss="tok-kw">const</span>.T.=.<sp
5e1a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">switch</span>.
5e1c0 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 22 3e (i).{</span>.<span.class="line">
5e1e0 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 75 6d ............<span.class="tok-num
5e200 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">0</span>.=&gt;.<span.class=
5e220 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-type">f32</span>,</span>.<s
5e240 70 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
5e260 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>.=
5e280 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 3c 2f &gt;.<span.class="tok-type">i8</
5e2a0 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"
5e2c0 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 75 >............<span.class="tok-nu
5e2e0 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 73 73 mber">2</span>.=&gt;.<span.class
5e300 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 3e 0a ="tok-type">bool</span>,</span>.
5e320 3c 73 70 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">............<
5e340 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>.
5e360 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 65 61 =&gt;.<span.class="tok-kw">unrea
5e380 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 61 73 chable</span>,</span>.<span.clas
5e3a0 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 6e s="line">........};</span>.<span
5e3c0 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 79 70 .class="line">........sum.+=.typ
5e3e0 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 6c 61 eNameLength(T);</span>.<span.cla
5e400 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
5e420 73 73 3d 22 6c 69 6e 65 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
5e440 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 w">try</span>.expect(sum.==.<spa
5e460 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>);<
5e480 2f 73 70 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
5e4a0 6e 3e 0a 3c 73 70 61 6e 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
5e4c0 70 61 6e 20 63 6c 61 73 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
5e4e0 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
5e500 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 61 6e -fn">typeNameLength</span>(<span
5e520 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>.
5e540 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</
5e560 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
5e580 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=
5e5a0 22 6c 69 6e 65 22 3e 20 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">
5e5c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 return</span>.<span.class="tok-b
5e5e0 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 2e 6c 65 6e 3b uiltin">@typeName</span>(T).len;
5e600 3c 2f 73 70 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
5e620 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
5e640 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
5e660 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
5e680 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
5e6a0 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 61 6e est_inline_while.zig</kbd></span
5e6c0 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
5e6e0 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 20 4f uot;inline.while.loop&quot;....O
5e700 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.
5e720 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></
5e740 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 pre></figure>.......<p>.......It
5e760 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 73 70 .is.recommended.to.use.<code><sp
5e780 61 6e 20 63 6c 61 73 73 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
5e7a0 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -kw">inline</span></span></code>
5e7c0 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 .loops.only.for.one.of.these.rea
5e7e0 73 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 sons:.......</p>.......<ul>.....
5e800 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 ....<li>You.need.the.loop.to.exe
5e820 63 75 74 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 cute.at.<a.href="#comptime">comp
5e840 74 69 6d 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f time</a>.for.the.semantics.to.wo
5e860 72 6b 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f rk.</li>.........<li>.........Yo
5e880 75 20 68 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 u.have.a.benchmark.to.prove.that
5e8a0 20 66 6f 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 .forcibly.unrolling.the.loop.in.
5e8c0 74 68 69 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 this.way.is.measurably.faster...
5e8e0 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a .......</li>.......</ul>........
5e900 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><
5e920 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 61 20 a.href="#if">if</a></li>.<li><a.
5e940 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 3e 3c href="#Optionals">Optionals</a><
5e960 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 6f 72 /li>.<li><a.href="#Errors">Error
5e980 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 69 6d s</a></li>.<li><a.href="#comptim
5e9a0 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 65 66 e">comptime</a></li>.<li><a.href
5e9c0 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><
5e9e0 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d /li>.</ul>...............<h2.id=
5ea00 22 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 6f 72 "for"><a.href="nav.xhtml#toc-for
5ea20 22 3e 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ">for</a>.<a.class="hdr".href="#
5ea40 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e for">..</a></h2>........<figure>
5ea60 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
5ea80 65 20 63 6c 61 73 73 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 e.class="file">for.zig</cite></f
5eaa0 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
5eac0 3d 22 6c 69 6e 65 22 3e 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
5eae0 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="
5eb00 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
5eb20 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
5eb40 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>
5eb60 0a 3c 73 70 61 6e 20 63 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
5eb80 6e 20 63 6c 61 73 73 3d 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-
5eba0 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
5ebc0 2d 73 74 72 22 3e 26 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 -str">&quot;for.basics&quot;</sp
5ebe0 61 6e 3e 20 7b 3c 2f 73 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">
5ec00 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
5ec20 73 70 61 6e 3e 20 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
5ec40 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 73 k-type">i32</span>.{.<span.class
5ec60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">4</span>,.<span.cl
5ec80 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
5eca0 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
5ecc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">4</span>,
5ece0 20 3c 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
5ed00 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">
5ed20 20 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
5ed40 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e an>.sum:.<span.class="tok-type">
5ed60 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
5ed80 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
5eda0 73 73 3d 22 6c 69 6e 65 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
5edc0 69 6e 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
5ede0 74 22 3e 2f 2f 20 46 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 t">//.For.loops.iterate.over.sli
5ee00 63 65 73 20 61 6e 64 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 ces.and.arrays.</span></span>.<s
5ee20 70 61 6e 20 63 6c 61 73 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
5ee40 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
5ee60 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"
5ee80 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
5eea0 74 22 3e 2f 2f 20 42 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 t">//.Break.and.continue.are.sup
5eec0 70 6f 72 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 ported.</span></span>.<span.clas
5eee0 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
5ef00 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 k-kw">if</span>.(value.==.<span.
5ef20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f class="tok-number">0</span>).{</
5ef40 73 70 61 6e 3e 0a 3c 73 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">.......
5ef60 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e .....<span.class="tok-kw">contin
5ef80 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 6c ue</span>;</span>.<span.class="l
5efa0 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 73 ine">........}</span>.<span.clas
5efc0 73 3d 22 6c 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 s="line">........sum.+=.value;</
5efe0 73 70 61 6e 3e 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">....}</
5f000 73 70 61 6e 3e 0a 3c 73 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
5f020 61 6e 20 63 6c 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
5f040 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ect(sum.==.<span.class="tok-numb
5f060 65 72 22 3e 31 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">16</span>);</span>.<span.cla
5f080 73 73 3d 22 6c 69 6e 65 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
5f0a0 69 6e 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
5f0c0 74 22 3e 2f 2f 20 54 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 20 70 6f 72 74 69 6f 6e 20 t">//.To.iterate.over.a.portion.
5f0e0 6f 66 20 61 20 73 6c 69 63 65 2c 20 72 65 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 of.a.slice,.reslice.</span></spa
5f100 6e 3e 0a 3c 73 70 61 6e 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.
5f120 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 class="tok-kw">for</span>.(items
5f140 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
5f160 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f n>..<span.class="tok-number">1</
5f180 73 70 61 6e 3e 5d 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 span>]).|value|.{</span>.<span.c
5f1a0 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 76 61 6c 75 65 lass="line">........sum.+=.value
5f1c0 3b 3c 2f 73 70 61 6e 3e 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">....
5f1e0 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">....
5f200 3c 73 70 61 6e 20 63 6c 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>.
5f220 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 22 74 6f 6b 2d 6e expect(sum.==.<span.class="tok-n
5f240 75 6d 62 65 72 22 3e 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 umber">20</span>);</span>.<span.
5f260 63 6c 61 73 73 3d 22 6c 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
5f280 3d 22 6c 69 6e 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
5f2a0 6d 65 6e 74 22 3e 2f 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 ment">//.To.access.the.index.of.
5f2c0 69 74 65 72 61 74 69 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 iteration,.specify.a.second.capt
5f2e0 75 72 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ure.value.</span></span>.<span.c
5f300 6c 61 73 73 3d 22 6c 69 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
5f320 2d 63 6f 6d 6d 65 6e 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 -comment">//.This.is.zero-indexe
5f340 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
5f360 6e 65 22 3e 20 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
5f380 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 74 </span>.sum2:.<span.class="tok-t
5f3a0 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
5f3c0 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
5f3e0 6e 20 63 6c 61 73 73 3d 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="
5f400 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 5f 2c 20 69 tok-kw">for</span>.(items).|_,.i
5f420 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">..
5f440 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</
5f460 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
5f480 69 6c 74 69 6e 22 3e 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 iltin">@TypeOf</span>(i).==.<spa
5f4a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-type">usize</span>)
5f4c0 3b 3c 2f 73 70 61 6e 3e 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">....
5f4e0 20 20 20 20 73 75 6d 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 ....sum2.+=.<span.class="tok-bui
5f500 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 6e 20 63 6c 61 73 ltin">@intCast</span>(<span.clas
5f520 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 69 29 3b 3c 2f 73 70 s="tok-type">i32</span>,.i);</sp
5f540 61 6e 3e 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
5f560 61 6e 3e 0a 3c 73 70 61 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
5f580 20 63 6c 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
5f5a0 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 2d 6e 75 6d 62 65 t(sum2.==.<span.class="tok-numbe
5f5c0 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">10</span>);</span>.<span.clas
5f5e0 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
5f600 69 6e 65 22 3e 3c 2f 73 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">
5f620 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>
5f640 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 .<span.class="tok-str">&quot;for
5f660 20 72 65 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e .reference&quot;</span>.{</span>
5f680 0a 3c 73 70 61 6e 20 63 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
5f6a0 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 74 65 6d 73 20 3d 20 ass="tok-kw">var</span>.items.=.
5f6c0 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 32 3c 2f 73 [_]<span.class="tok-type">i32</s
5f6e0 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 75 6d 62 65 72 22 3e pan>.{.<span.class="tok-number">
5f700 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
5f720 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
5f740 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">2</span>.};</span>.<span.c
5f760 6c 61 73 73 3d 22 6c 69 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=
5f780 22 6c 69 6e 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
5f7a0 65 6e 74 22 3e 2f 2f 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 73 6c 69 63 65 20 62 ent">//.Iterate.over.the.slice.b
5f7c0 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 y.reference.by</span></span>.<sp
5f7e0 61 6e 20 63 6c 61 73 73 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=
5f800 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 61 74 "tok-comment">//.specifying.that
5f820 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2e .the.capture.value.is.a.pointer.
5f840 3c 2f 73 70 61 6e 3e 3c 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
5f860 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f ">....<span.class="tok-kw">for</
5f880 73 70 61 6e 3e 20 28 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 span>.(items).|*value|.{</span>.
5f8a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 6c 75 65 <span.class="line">........value
5f8c0 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 .*.+=.<span.class="tok-number">1
5f8e0 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
5f900 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
5f920 65 22 3e 3c 2f 73 70 61 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">..
5f940 20 20 3c 73 70 61 6e 20 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
5f960 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >.expect(items[<span.class="tok-
5f980 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">0</span>].==.<span.class
5f9a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">4</span>);</span>.
5f9c0 3c 73 70 61 6e 20 63 6c 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
5f9e0 73 73 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 74 ss="tok-kw">try</span>.expect(it
5fa00 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f ems[<span.class="tok-number">1</
5fa20 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
5fa40 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
5fa60 3d 22 6c 69 6e 65 22 3e 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"
5fa80 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 >try</span>.expect(items[<span.c
5faa0 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>].==.<
5fac0 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>
5fae0 29 3b 3c 2f 73 70 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">}</
5fb00 73 70 61 6e 3e 0a 3c 73 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>
5fb20 0a 3c 73 70 61 6e 20 63 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=
5fb40 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
5fb60 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 3c ="tok-str">&quot;for.else&quot;<
5fb80 2f 73 70 61 6e 3e 20 7b 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
5fba0 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"
5fbc0 3e 2f 2f 20 46 6f 72 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 >//.For.allows.an.else.attached.
5fbe0 74 6f 20 69 74 2c 20 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 to.it,.the.same.as.a.while.loop.
5fc00 3c 2f 73 70 61 6e 3e 3c 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
5fc20 22 3e 20 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</
5fc40 73 70 61 6e 3e 20 69 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 span>.items.=.[_]?<span.class="t
5fc60 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
5fc80 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
5fca0 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
5fcc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 n.class="tok-null">null</span>,.
5fce0 3c 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
5fd00 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"><
5fd20 2f 73 70 61 6e 3e 0a 3c 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
5fd40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c pan.class="tok-comment">//.For.l
5fd60 6f 6f 70 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 78 70 72 65 73 73 oops.can.also.be.used.as.express
5fd80 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ions.</span></span>.<span.class=
5fda0 22 6c 69 6e 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
5fdc0 65 6e 74 22 3e 2f 2f 20 53 69 6d 69 6c 61 72 20 74 6f 20 77 68 69 6c 65 20 6c 6f 6f 70 73 2c 20 ent">//.Similar.to.while.loops,.
5fde0 77 68 65 6e 20 79 6f 75 20 62 72 65 61 6b 20 66 72 6f 6d 20 61 20 66 6f 72 20 6c 6f 6f 70 2c 20 when.you.break.from.a.for.loop,.
5fe00 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 the.else.branch.is.not.evaluated
5fe20 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
5fe40 65 22 3e 20 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<
5fe60 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 79 70 /span>.sum:.<span.class="tok-typ
5fe80 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
5fea0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">0</span>;</span>.<span.
5fec0 63 6c 61 73 73 3d 22 6c 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
5fee0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 k-kw">const</span>.result.=.<spa
5ff00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 n.class="tok-kw">for</span>.(ite
5ff20 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ms).|value|.{</span>.<span.class
5ff40 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
5ff60 2d 6b 77 22 3e 69 66 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 -kw">if</span>.(value.!=.<span.c
5ff80 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 20 7b 3c 2f lass="tok-null">null</span>).{</
5ffa0 73 70 61 6e 3e 0a 3c 73 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">.......
5ffc0 20 20 20 20 20 73 75 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 .....sum.+=.value.?;</span>.<spa
5ffe0 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>.
60000 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
60020 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b lass="tok-kw">else</span>.blk:.{
60040 3c 2f 73 70 61 6e 3e 0a 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">.....
60060 20 20 20 3c 73 70 61 6e 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
60080 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 22 74 6f n>.expect(sum.==.<span.class="to
600a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">12</span>);</span>.<sp
600c0 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
600e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 73 ass="tok-kw">break</span>.:blk.s
60100 75 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 um;</span>.<span.class="line">..
60120 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..};</span>.<span.class="line">.
60140 20 20 20 3c 73 70 61 6e 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
60160 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.expect(result.==.<span.class=
60180 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-number">12</span>);</span>.
601a0 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
601c0 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
601e0 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
60200 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=
60220 22 6c 69 6e 65 22 3e 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 "line">$.<kbd>zig.test.for.zig</
60240 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
60260 2f 33 20 74 65 73 74 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 /3.test.&quot;for.basics&quot;..
60280 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 32 ..OK</span>.<span.class="line">2
602a0 2f 33 20 74 65 73 74 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 /3.test.&quot;for.reference&quot
602c0 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
602e0 22 3e 33 2f 33 20 74 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 ">3/3.test.&quot;for.else&quot;.
60300 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">
60320 41 6c 6c 20 33 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.3.tests.passed.</span>.</sam
60340 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 22 p></pre></figure>.......<h3.id="
60360 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 Labeled-for"><a.href="nav.xhtml#
60380 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e toc-Labeled-for">Labeled.for</a>
603a0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 .<a.class="hdr".href="#Labeled-f
603c0 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 or">..</a></h3>........<p>When.a
603e0 20 3c 63 6f 64 65 3e 3c 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.
60400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e class="tok-kw">for</span></span>
60420 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 </code>.loop.is.labeled,.it.can.
60440 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e be.referenced.from.a.<code><span
60460 20 63 6c 61 73 73 3d 22 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
60480 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 w">break</span></span></code>...
604a0 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ............or.<code><span.class
604c0 3d 22 6c 69 6e 65 22 3e 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
604e0 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 tinue</span></span></code>.from.
60500 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 within.a.nested.loop:</p>.......
60520 3c 66 69 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
60540 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 65 73 74 ap"><cite.class="file">test_nest
60560 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e ed_break.zig</cite></figcaption>
60580 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
605a0 70 61 6e 20 63 6c 61 73 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>.
605c0 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">
605e0 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-
60600 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
60620 70 61 6e 3e 0a 3c 73 70 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
60640 61 73 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
60660 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
60680 70 61 6e 20 63 6c 61 73 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
606a0 6c 61 73 73 3d 22 6c 69 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"
606c0 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
606e0 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 r">&quot;nested.break&quot;</spa
60700 6e 3e 20 7b 3c 2f 73 70 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">.
60720 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
60740 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 2d 74 79 70 65 22 n>.count:.<span.class="tok-type"
60760 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >usize</span>.=.<span.class="tok
60780 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">0</span>;</span>.<span.
607a0 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 20 63 6c class="line">....outer:.<span.cl
607c0 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 5f 5d 3c 73 70 61 ass="tok-kw">for</span>.([_]<spa
607e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c n.class="tok-type">i32</span>{.<
60800 73 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>
60820 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
60840 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<
60860 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"
60880 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >4</span>,.<span.class="tok-numb
608a0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 er">5</span>.}).|_|.{</span>.<sp
608c0 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
608e0 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 5f 5d 3c 73 70 61 ass="tok-kw">for</span>.([_]<spa
60900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c n.class="tok-type">i32</span>{.<
60920 73 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>
60940 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
60960 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<
60980 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"
609a0 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >4</span>,.<span.class="tok-numb
609c0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 er">5</span>.}).|_|.{</span>.<sp
609e0 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 75 6e an.class="line">............coun
60a00 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c t.+=.<span.class="tok-number">1<
60a20 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
60a40 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
60a60 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c w">break</span>.:outer;</span>.<
60a80 73 70 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
60aa0 6e 3e 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
60ac0 6e 3e 0a 3c 73 70 61 6e 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.
60ae0 63 6c 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
60b00 28 63 6f 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (count.==.<span.class="tok-numbe
60b20 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 73 r">1</span>);</span>.<span.class
60b40 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
60b60 6e 65 22 3e 3c 2f 73 70 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"><
60b80 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>.
60ba0 3c 73 70 61 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 <span.class="tok-str">&quot;nest
60bc0 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ed.continue&quot;</span>.{</span
60be0 3e 0a 3c 73 70 61 6e 20 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
60c00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 lass="tok-kw">var</span>.count:.
60c20 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
60c40 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
60c60 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
60c80 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e">....outer:.<span.class="tok-k
60ca0 77 22 3e 66 6f 72 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 w">for</span>.([_]<span.class="t
60cc0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">i32</span>{.<span.class
60ce0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">1</span>,.<span.cl
60d00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">2</span>,.<span
60d20 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
60d40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">4</span>,
60d60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 .<span.class="tok-number">5</spa
60d80 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f n>,.<span.class="tok-number">6</
60da0 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">
60dc0 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 7</span>,.<span.class="tok-numbe
60de0 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 r">8</span>.}).|_|.{</span>.<spa
60e00 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
60e20 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 5f 5d 3c 73 70 61 6e ss="tok-kw">for</span>.([_]<span
60e40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 .class="tok-type">i32</span>{.<s
60e60 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 2c pan.class="tok-number">1</span>,
60e80 20 3c 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
60ea0 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 2f n>,.<span.class="tok-number">3</
60ec0 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">
60ee0 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 4</span>,.<span.class="tok-numbe
60f00 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 r">5</span>.}).|_|.{</span>.<spa
60f20 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 75 6e 74 n.class="line">............count
60f40 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</
60f60 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"
60f80 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >............<span.class="tok-kw
60fa0 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e ">continue</span>.:outer;</span>
60fc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 .<span.class="line">........}</s
60fe0 70 61 6e 3e 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
61000 70 61 6e 3e 0a 3c 73 70 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>.
61020 3c 73 70 61 6e 20 63 6c 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
61040 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 6f ss="tok-kw">try</span>.expect(co
61060 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e unt.==.<span.class="tok-number">
61080 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
610a0 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
610c0 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
610e0 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>
61100 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>
61120 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f zig.test.test_nested_break.zig</
61140 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
61160 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b /2.test.&quot;nested.break&quot;
61180 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"
611a0 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 >2/2.test.&quot;nested.continue&
611c0 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="
611e0 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 2f 73 70 61 6e 3e line">All.2.tests.passed.</span>
61200 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 .</samp></pre></figure>.........
61220 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 .....<h3.id="inline-for"><a.href
61240 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 ="nav.xhtml#toc-inline-for">inli
61260 6e 65 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ne.for</a>.<a.class="hdr".href="
61280 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 #inline-for">..</a></h3>........
612a0 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 62 65 20 69 6e 6c 69 6e <p>.......For.loops.can.be.inlin
612c0 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 62 65 20 75 ed..This.causes.the.loop.to.be.u
612e0 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 74 68 65 20 nrolled,.which.......allows.the.
61300 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 68 69 6e 67 73 20 77 68 69 63 68 20 6f 6e 6c code.to.do.some.things.which.onl
61320 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 73 75 y.work.at.compile.time,.......su
61340 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 73 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 ch.as.use.types.as.first.class.v
61360 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 54 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 61 alues........The.capture.value.a
61380 6e 64 20 69 74 65 72 61 74 6f 72 20 76 61 6c 75 65 20 6f 66 20 69 6e 6c 69 6e 65 64 20 66 6f 72 nd.iterator.value.of.inlined.for
613a0 20 6c 6f 6f 70 73 20 61 72 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e .loops.are.......compile-time.kn
613c0 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 own........</p>.......<figure><f
613e0 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.
61400 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 6c 6f 6f 70 2e 7a 69 class="file">test_inline_loop.zi
61420 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>
61440 3c 73 70 61 6e 20 63 6c 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="
61460 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
61480 70 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<
614a0 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
614c0 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
614e0 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"><
61500 2f 73 70 61 6e 3e 0a 3c 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.
61520 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
61540 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 6c 69 6e 65 20 66 6f .class="tok-str">&quot;inline.fo
61560 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 61 6e 3e 0a 3c 73 70 r.loop&quot;</span>.{</span>.<sp
61580 61 6e 20 63 6c 61 73 73 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=
615a0 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 73 20 3d 20 5b 5f 5d "tok-kw">const</span>.nums.=.[_]
615c0 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
615e0 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 32 3c 2f 73 70 >{<span.class="tok-number">2</sp
61600 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<
61620 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"
61640 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 63 6c 61 73 73 3d 22 >6</span>};</span>.<span.class="
61660 6c 69 6e 65 22 3e 20 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
61680 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ar</span>.sum:.<span.class="tok-
616a0 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
616c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">0</span>;</span>.<
616e0 73 70 61 6e 20 63 6c 61 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
61700 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">inline</span>.<span.c
61720 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 73 29 20 lass="tok-kw">for</span>.(nums).
61740 7c 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e |i|.{</span>.<span.class="line">
61760 20 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
61780 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 6b st</span>.T.=.<span.class="tok-k
617a0 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 70 61 6e 3e 0a 3c 73 w">switch</span>.(i).{</span>.<s
617c0 70 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
617e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-number">2</span>.=
61800 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 66 33 32 3c &gt;.<span.class="tok-type">f32<
61820 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
61840 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
61860 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 61 6e 20 63 6c 61 73 umber">4</span>.=&gt;.<span.clas
61880 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 73 70 61 6e 3e 0a 3c s="tok-type">i8</span>,</span>.<
618a0 73 70 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
618c0 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 20 pan.class="tok-number">6</span>.
618e0 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f =&gt;.<span.class="tok-type">boo
61900 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
61920 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
61940 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 -kw">else</span>.=&gt;.<span.cla
61960 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c ss="tok-kw">unreachable</span>,<
61980 2f 73 70 61 6e 3e 0a 3c 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">......
619a0 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..};</span>.<span.class="line">.
619c0 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 67 74 68 28 54 29 3b .......sum.+=.typeNameLength(T);
619e0 3c 2f 73 70 61 6e 3e 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">....}
61a00 3c 2f 73 70 61 6e 3e 0a 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">....<
61a20 73 70 61 6e 20 63 6c 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
61a40 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 xpect(sum.==.<span.class="tok-nu
61a60 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">9</span>);</span>.<span.cl
61a80 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=
61aa0 22 6c 69 6e 65 22 3e 3c 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
61ac0 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>
61ae0 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 65 4e 61 6d 65 4c 65 .<span.class="tok-fn">typeNameLe
61b00 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 74 6f 6b 2d 6b 77 22 ngth</span>(<span.class="tok-kw"
61b20 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 3d >comptime</span>.T:.<span.class=
61b40 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c "tok-type">type</span>).<span.cl
61b60 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ass="tok-type">usize</span>.{</s
61b80 70 61 6e 3e 0a 3c 73 70 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
61ba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">return</span>.<
61bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 span.class="tok-builtin">@typeNa
61be0 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 3c 73 70 61 6e 20 63 me</span>(T).len;</span>.<span.c
61c00 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
61c20 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
61c40 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
61c60 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">
61c80 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 6c 6f 6f 70 $.<kbd>zig.test.test_inline_loop
61ca0 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
61cc0 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 65 20 66 6f 72 20 6c ine">1/1.test.&quot;inline.for.l
61ce0 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 70 61 6e 20 63 6c 61 oop&quot;....OK</span>.<span.cla
61d00 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
61d20 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>.....
61d40 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f ..<p>.......It.is.recommended.to
61d60 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .use.<code><span.class="line"><s
61d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e pan.class="tok-kw">inline</span>
61da0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e </span></code>.loops.only.for.on
61dc0 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 73 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 e.of.these.reasons:.......</p>..
61de0 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 .....<ul>.........<li>You.need.t
61e00 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 63 75 74 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 he.loop.to.execute.at.<a.href="#
61e20 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 comptime">comptime</a>.for.the.s
61e40 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f 72 6b 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c emantics.to.work.</li>.........<
61e60 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 68 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b li>.........You.have.a.benchmark
61e80 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 66 6f 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e .to.prove.that.forcibly.unrollin
61ea0 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 74 68 69 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 g.the.loop.in.this.way.is.measur
61ec0 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 ably.faster..........</li>......
61ee0 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a .</ul>..............<p>See.also:
61f00 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 69 6c 65 22 3e 77 68 </p><ul>.<li><a.href="#while">wh
61f20 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 ile</a></li>.<li><a.href="#compt
61f40 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
61f60 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 3c 6c 69 ef="#Arrays">Arrays</a></li>.<li
61f80 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 2f 6c ><a.href="#Slices">Slices</a></l
61fa0 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 69 i>.</ul>...............<h2.id="i
61fc0 66 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 66 22 3e 69 66 f"><a.href="nav.xhtml#toc-if">if
61fe0 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 66 22 3e c2 </a>.<a.class="hdr".href="#if">.
62000 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
62020 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
62040 73 3d 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 s="file">if.zig</cite></figcapti
62060 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"
62080 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 ><span.class="tok-comment">//.If
620a0 20 65 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 .expressions.have.three.uses,.co
620c0 72 72 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 rresponding.to.the.three.types:<
620e0 2f 73 70 61 6e 3e 3c 2f 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"
62100 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 2a 20 ><span.class="tok-comment">//.*.
62120 62 6f 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 bool</span></span>.<span.class="
62140 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">
62160 2f 2f 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 //.*.?T</span></span>.<span.clas
62180 73 3d 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
621a0 74 22 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 t">//.*.anyerror!T</span></span>
621c0 0a 3c 73 70 61 6e 20 63 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
621e0 6e 20 63 6c 61 73 73 3d 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-
62200 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.
62220 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
62240 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
62260 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;
62280 3c 2f 73 70 61 6e 3e 0a 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
622a0 6e 3e 0a 3c 73 70 61 6e 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
622c0 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
622e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 73 73 69 6f 6e ss="tok-str">&quot;if.expression
62300 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
62320 73 73 3d 22 6c 69 6e 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
62340 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 61 72 65 20 75 73 omment">//.If.expressions.are.us
62360 65 64 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 ed.instead.of.a.ternary.expressi
62380 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c on.</span></span>.<span.class="l
623a0 69 6e 65 22 3e 20 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
623c0 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 74 nst</span>.a:.<span.class="tok-t
623e0 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
62400 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
62420 6e 20 63 6c 61 73 73 3d 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="
62440 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 63 6c tok-kw">const</span>.b:.<span.cl
62460 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
62480 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 3b 3c 2f n.class="tok-number">4</span>;</
624a0 73 70 61 6e 3e 0a 3c 73 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
624c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 an.class="tok-kw">const</span>.r
624e0 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 69 66 3c esult.=.<span.class="tok-kw">if<
62500 2f 73 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 /span>.(a.!=.b).<span.class="tok
62520 2d 6e 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 -number">47</span>.<span.class="
62540 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-kw">else</span>.<span.class=
62560 22 74 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 "tok-number">3089</span>;</span>
62580 0a 3c 73 70 61 6e 20 63 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
625a0 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 72 ass="tok-kw">try</span>.expect(r
625c0 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 esult.==.<span.class="tok-number
625e0 22 3e 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 ">47</span>);</span>.<span.class
62600 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
62620 6e 65 22 3e 3c 2f 73 70 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"><
62640 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>.
62660 3c 73 70 61 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 <span.class="tok-str">&quot;if.b
62680 6f 6f 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 oolean&quot;</span>.{</span>.<sp
626a0 61 6e 20 63 6c 61 73 73 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=
626c0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 "tok-comment">//.If.expressions.
626e0 74 65 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 test.boolean.conditions.</span><
62700 2f 73 70 61 6e 3e 0a 3c 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
62720 70 61 6e 20 63 6c 61 73 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>.
62740 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 a:.<span.class="tok-type">u32</s
62760 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">
62780 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
627a0 6e 65 22 3e 20 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
627c0 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 st</span>.b:.<span.class="tok-ty
627e0 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
62800 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 61 6e k-number">4</span>;</span>.<span
62820 20 63 6c 61 73 73 3d 22 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
62840 6f 6b 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 ok-kw">if</span>.(a.!=.b).{</spa
62860 6e 3e 0a 3c 73 70 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
62880 70 61 6e 20 63 6c 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
628a0 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
628c0 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
628e0 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
62900 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e lse</span>.<span.class="tok-kw">
62920 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b if</span>.(a.==.<span.class="tok
62940 2d 6e 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 -number">9</span>).{</span>.<spa
62960 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
62980 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>;<
629a0 2f 73 70 61 6e 3e 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">....}.
629c0 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>
629e0 20 7b 3c 2f 73 70 61 6e 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">...
62a00 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 .....<span.class="tok-kw">unreac
62a20 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 hable</span>;</span>.<span.class
62a40 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
62a60 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
62a80 6e 65 22 3e 3c 2f 73 70 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"><
62aa0 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>.
62ac0 3c 73 70 61 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 <span.class="tok-str">&quot;if.o
62ae0 70 74 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 ptional&quot;</span>.{</span>.<s
62b00 70 61 6e 20 63 6c 61 73 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
62b20 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 ="tok-comment">//.If.expressions
62b40 20 74 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 .test.for.null.</span></span>.<s
62b60 70 61 6e 20 63 6c 61 73 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
62b80 6c 61 73 73 3d 22 6c 69 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
62ba0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.a:.?<span.clas
62bc0 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.
62be0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 class="tok-number">0</span>;</sp
62c00 61 6e 3e 0a 3c 73 70 61 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
62c20 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 7c 76 .class="tok-kw">if</span>.(a).|v
62c40 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 alue|.{</span>.<span.class="line
62c60 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
62c80 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.
62ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">0</span>);</s
62cc0 70 61 6e 3e 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
62ce0 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>.{
62d00 3c 2f 73 70 61 6e 3e 0a 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">.....
62d20 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
62d40 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="
62d60 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="
62d80 6c 69 6e 65 22 3e 3c 2f 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"
62da0 3e 20 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<
62dc0 2f 73 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 /span>.b:.?<span.class="tok-type
62de0 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-
62e00 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.
62e20 63 6c 61 73 73 3d 22 6c 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
62e40 6b 2d 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 k-kw">if</span>.(b).|_|.{</span>
62e60 0a 3c 73 70 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
62e80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 n.class="tok-kw">unreachable</sp
62ea0 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">.
62ec0 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</
62ee0 73 70 61 6e 3e 20 7b 3c 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
62f00 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
62f20 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
62f40 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-null">true</span>);</span>.<sp
62f60 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
62f80 61 6e 20 63 6c 61 73 73 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
62fa0 61 73 73 3d 22 6c 69 6e 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-
62fc0 63 6f 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 comment">//.The.else.is.not.requ
62fe0 69 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ired.</span></span>.<span.class=
63000 22 6c 69 6e 65 22 3e 20 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">
63020 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c if</span>.(a).|value|.{</span>.<
63040 73 70 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.
63060 63 6c 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
63080 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (value.==.<span.class="tok-numbe
630a0 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
630c0 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
630e0 3d 22 6c 69 6e 65 22 3e 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
63100 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"
63120 3e 2f 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 >//.To.test.against.null.only,.u
63140 73 65 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 se.the.binary.equality.operator.
63160 3c 2f 73 70 61 6e 3e 3c 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
63180 22 3e 20 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
631a0 70 61 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 pan>.(b.==.<span.class="tok-null
631c0 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 73 70 61 6e 20 63 6c ">null</span>).{</span>.<span.cl
631e0 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="
63200 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.
63220 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>);</
63240 73 70 61 6e 3e 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">....}</
63260 73 70 61 6e 3e 0a 3c 73 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>
63280 0a 3c 73 70 61 6e 20 63 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
632a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 ass="tok-comment">//.Access.the.
632c0 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 value.by.reference.using.a.point
632e0 65 72 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 er.capture.</span></span>.<span.
63300 63 6c 61 73 73 3d 22 6c 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
63320 6b 2d 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 k-kw">var</span>.c:.?<span.class
63340 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">u32</span>.=.<span.c
63360 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 lass="tok-number">3</span>;</spa
63380 6e 3e 0a 3c 73 70 61 6e 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.
633a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 class="tok-kw">if</span>.(c).|*v
633c0 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 alue|.{</span>.<span.class="line
633e0 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 61 73 73 3d ">........value.*.=.<span.class=
63400 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 0a 3c 73 "tok-number">2</span>;</span>.<s
63420 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
63440 70 61 6e 20 63 6c 61 73 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
63460 6c 61 73 73 3d 22 6c 69 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
63480 2d 6b 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 -kw">if</span>.(c).|value|.{</sp
634a0 61 6e 3e 0a 3c 73 70 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">........<
634c0 73 70 61 6e 20 63 6c 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
634e0 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d xpect(value.==.<span.class="tok-
63500 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">2</span>);</span>.<span.
63520 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="
63540 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
63560 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
63580 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>;
635a0 3c 2f 73 70 61 6e 3e 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">....}
635c0 3c 2f 73 70 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
635e0 61 6e 3e 0a 3c 73 70 61 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>.<
63600 73 70 61 6e 20 63 6c 61 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
63620 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="
63640 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 tok-str">&quot;if.error.union&qu
63660 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=
63680 22 6c 69 6e 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
636a0 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 ent">//.If.expressions.test.for.
636c0 65 72 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 errors.</span></span>.<span.clas
636e0 73 3d 22 6c 69 6e 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
63700 6d 6d 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 mment">//.Note.the.|err|.capture
63720 20 6f 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 .on.the.else.</span></span>.<spa
63740 6e 20 63 6c 61 73 73 3d 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
63760 73 73 3d 22 6c 69 6e 65 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
63780 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 22 w">const</span>.a:.<span.class="
637a0 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.
637c0 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
637e0 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>;
63800 3c 2f 73 70 61 6e 3e 0a 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">....<
63820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 span.class="tok-kw">if</span>.(a
63840 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ).|value|.{</span>.<span.class="
63860 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
63880 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 w">try</span>.expect(value.==.<s
638a0 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>)
638c0 3b 3c 2f 73 70 61 6e 3e 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">....
638e0 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
63900 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
63920 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 73 70 ine">........_.=.err;</span>.<sp
63940 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
63960 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>;
63980 3c 2f 73 70 61 6e 3e 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">....}
639a0 3c 2f 73 70 61 6e 3e 0a 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
639c0 6e 3e 0a 3c 73 70 61 6e 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.
639e0 63 6c 61 73 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:.<
63a00 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</
63a20 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
63a40 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
63a60 72 72 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 rror</span>.BadValue;</span>.<sp
63a80 61 6e 20 63 6c 61 73 73 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=
63aa0 22 74 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 "tok-kw">if</span>.(b).|value|.{
63ac0 3c 2f 73 70 61 6e 3e 0a 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">.....
63ae0 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..._.=.value;</span>.<span.class
63b00 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
63b20 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -kw">unreachable</span>;</span>.
63b40 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
63b60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 lass="tok-kw">else</span>.|err|.
63b80 7b 3c 2f 73 70 61 6e 3e 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">....
63ba0 20 20 20 20 3c 73 70 61 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
63bc0 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.expect(err.==.<span.class="t
63be0 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f ok-kw">error</span>.BadValue);</
63c00 73 70 61 6e 3e 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">....}</
63c20 73 70 61 6e 3e 0a 3c 73 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>
63c40 0a 3c 73 70 61 6e 20 63 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
63c60 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 65 6c 73 65 20 61 6e ass="tok-comment">//.The.else.an
63c80 64 20 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 d.|err|.capture.is.strictly.requ
63ca0 69 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ired.</span></span>.<span.class=
63cc0 22 6c 69 6e 65 22 3e 20 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">
63ce0 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c if</span>.(a).|value|.{</span>.<
63d00 73 70 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.
63d20 63 6c 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
63d40 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (value.==.<span.class="tok-numbe
63d60 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
63d80 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
63da0 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
63dc0 61 6e 20 63 6c 61 73 73 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
63de0 61 73 73 3d 22 6c 69 6e 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-
63e00 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 63 68 65 63 6b 20 6f 6e 6c 79 20 74 68 65 20 65 72 comment">//.To.check.only.the.er
63e20 72 6f 72 20 76 61 6c 75 65 2c 20 75 73 65 20 61 6e 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 65 78 ror.value,.use.an.empty.block.ex
63e40 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 63 6c pression.</span></span>.<span.cl
63e60 61 73 73 3d 22 6c 69 6e 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-
63e80 6b 77 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 kw">if</span>.(b).|_|.{}.<span.c
63ea0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 lass="tok-kw">else</span>.|err|.
63ec0 7b 3c 2f 73 70 61 6e 3e 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">....
63ee0 20 20 20 20 3c 73 70 61 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
63f00 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.expect(err.==.<span.class="t
63f20 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f ok-kw">error</span>.BadValue);</
63f40 73 70 61 6e 3e 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">....}</
63f60 73 70 61 6e 3e 0a 3c 73 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>
63f80 0a 3c 73 70 61 6e 20 63 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
63fa0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 ass="tok-comment">//.Access.the.
63fc0 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 value.by.reference.using.a.point
63fe0 65 72 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 er.capture.</span></span>.<span.
64000 63 6c 61 73 73 3d 22 6c 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
64020 6b 2d 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 k-kw">var</span>.c:.<span.class=
64040 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
64060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">u32</span>.=.<
64080 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>
640a0 3b 3c 2f 73 70 61 6e 3e 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">....
640c0 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>.(
640e0 63 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 c).|*value|.{</span>.<span.class
64100 3d 22 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 ="line">........value.*.=.<span.
64120 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 2f 73 70 class="tok-number">9</span>;</sp
64140 61 6e 3e 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 an>.<span.class="line">....}.<sp
64160 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 5f an.class="tok-kw">else</span>.|_
64180 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">..
641a0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 ......<span.class="tok-kw">unrea
641c0 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 chable</span>;</span>.<span.clas
641e0 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
64200 73 3d 22 6c 69 6e 65 22 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
64220 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ne">....<span.class="tok-kw">if<
64240 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 3e 0a 3c 73 70 61 /span>.(c).|value|.{</span>.<spa
64260 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
64280 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 ss="tok-kw">try</span>.expect(va
642a0 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 3e lue.==.<span.class="tok-number">
642c0 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 6c 9</span>);</span>.<span.class="l
642e0 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 3e ine">....}.<span.class="tok-kw">
64300 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 else</span>.|_|.{</span>.<span.c
64320 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=
64340 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 70 "tok-kw">unreachable</span>;</sp
64360 61 6e 3e 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
64380 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>.
643a0 3c 73 70 61 6e 20 63 6c 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
643c0 20 63 6c 61 73 73 3d 22 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
643e0 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-
64400 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 69 74 68 20 6f str">&quot;if.error.union.with.o
64420 70 74 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 ptional&quot;</span>.{</span>.<s
64440 70 61 6e 20 63 6c 61 73 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
64460 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 ="tok-comment">//.If.expressions
64480 20 74 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 .test.for.errors.before.unwrappi
644a0 6e 67 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 ng.optionals.</span></span>.<spa
644c0 6e 20 63 6c 61 73 73 3d 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="
644e0 74 6f 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 tok-comment">//.The.|optional_va
64500 6c 75 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 lue|.capture's.type.is.?u32.</sp
64520 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f an></span>.<span.class="line"></
64540 73 70 61 6e 3e 0a 3c 73 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
64560 61 6e 20 63 6c 61 73 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
64580 3a 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
645a0 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 74 79 70 65 22 r</span>!?<span.class="tok-type"
645c0 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >u32</span>.=.<span.class="tok-n
645e0 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
64600 61 73 73 3d 22 6c 69 6e 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-
64620 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 kw">if</span>.(a).|optional_valu
64640 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 e|.{</span>.<span.class="line">.
64660 20 20 20 20 20 20 20 3c 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<
64680 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.?.=
646a0 3d 20 3c 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
646c0 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">
646e0 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<
64700 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 61 6e 20 63 6c 61 73 /span>.|err|.{</span>.<span.clas
64720 73 3d 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 s="line">........_.=.err;</span>
64740 0a 3c 73 70 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
64760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 n.class="tok-kw">unreachable</sp
64780 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">.
647a0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ...}</span>.<span.class="line"><
647c0 2f 73 70 61 6e 3e 0a 3c 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
647e0 70 61 6e 20 63 6c 61 73 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>.
64800 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 61 6e 79 65 72 72 b:.<span.class="tok-type">anyerr
64820 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 74 79 70 65 or</span>!?<span.class="tok-type
64840 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-
64860 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.
64880 63 6c 61 73 73 3d 22 6c 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
648a0 6b 2d 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 k-kw">if</span>.(b).|optional_va
648c0 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"
648e0 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
64900 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d y</span>.expect(optional_value.=
64920 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
64940 70 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"
64960 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 >....}.<span.class="tok-kw">else
64980 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 73 73 </span>.|_|.{</span>.<span.class
649a0 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
649c0 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -kw">unreachable</span>;</span>.
649e0 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>.
64a00 3c 73 70 61 6e 20 63 6c 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
64a20 20 63 6c 61 73 73 3d 22 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
64a40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.c:.<span.cla
64a60 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c ss="tok-type">anyerror</span>!?<
64a80 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>
64aa0 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
64ac0 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 20 63 6c 61 73 pan>.BadValue;</span>.<span.clas
64ae0 73 3d 22 6c 69 6e 65 22 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
64b00 22 3e 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 ">if</span>.(c).|optional_value|
64b20 20 7b 3c 2f 73 70 61 6e 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">...
64b40 20 20 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 ....._.=.optional_value;</span>.
64b60 3c 73 70 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
64b80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 .class="tok-kw">unreachable</spa
64ba0 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">..
64bc0 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
64be0 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=
64c00 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-
64c20 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 kw">try</span>.expect(err.==.<sp
64c40 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 42 an.class="tok-kw">error</span>.B
64c60 61 64 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 adValue);</span>.<span.class="li
64c80 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
64ca0 6e 65 22 3e 3c 2f 73 70 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">.
64cc0 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">//.
64ce0 41 63 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 Access.the.value.by.reference.by
64d00 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 20 65 61 63 68 20 74 69 .using.a.pointer.capture.each.ti
64d20 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
64d40 69 6e 65 22 3e 20 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
64d60 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r</span>.d:.<span.class="tok-typ
64d80 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">anyerror</span>!?<span.class=
64da0 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
64dc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">3</span>;</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 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
64e00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 2a 6f 70 lass="tok-kw">if</span>.(d).|*op
64e20 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 tional_value|.{</span>.<span.cla
64e40 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
64e60 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 76 61 6c 75 65 ok-kw">if</span>.(optional_value
64e80 2e 2a 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 .*).|*value|.{</span>.<span.clas
64ea0 73 3d 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 s="line">............value.*.=.<
64ec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e span.class="tok-number">9</span>
64ee0 3b 3c 2f 73 70 61 6e 3e 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">....
64f00 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">
64f20 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<
64f40 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=
64f60 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-
64f80 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>.<
64fa0 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>.<
64fc0 73 70 61 6e 20 63 6c 61 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.
64fe0 63 6c 61 73 73 3d 22 6c 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
65000 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 k-kw">if</span>.(d).|optional_va
65020 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"
65040 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
65060 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f y</span>.expect(optional_value.?
65080 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f .==.<span.class="tok-number">9</
650a0 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
650c0 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
650e0 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 73 e</span>.|_|.{</span>.<span.clas
65100 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
65120 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 3e k-kw">unreachable</span>;</span>
65140 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>
65160 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
65180 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
651a0 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
651c0 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
651e0 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 66 2e 7a 69 67 3c 2f ="line">$.<kbd>zig.test.if.zig</
65200 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
65220 2f 35 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 /5.test.&quot;if.expression&quot
65240 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
65260 22 3e 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 ">2/5.test.&quot;if.boolean&quot
65280 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
652a0 22 3e 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 ">3/5.test.&quot;if.optional&quo
652c0 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
652e0 65 22 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 e">4/5.test.&quot;if.error.union
65300 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=
65320 22 6c 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 "line">5/5.test.&quot;if.error.u
65340 6e 69 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 nion.with.optional&quot;....OK</
65360 73 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 span>.<span.class="line">All.5.t
65380 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
653a0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 ></figure>.......<p>See.also:</p
653c0 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f ><ul>.<li><a.href="#Optionals">O
653e0 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ptionals</a></li>.<li><a.href="#
65400 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 Errors">Errors</a></li>.</ul>...
65420 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 64 65 66 65 72 22 3e 3c 61 20 68 72 ............<h2.id="defer"><a.hr
65440 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f ef="nav.xhtml#toc-defer">defer</
65460 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e a>.<a.class="hdr".href="#defer">
65480 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
654a0 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
654c0 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ss="file">defer.zig</cite></figc
654e0 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
65500 69 6e 65 22 3e 3c 73 70 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<
65520 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
65540 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
65560 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
65580 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"><
655a0 73 70 61 6e 20 63 6c 61 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>
655c0 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
655e0 70 61 6e 3e 0a 3c 73 70 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
65600 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 ass="tok-kw">const</span>.print.
65620 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 =.std.debug.print;</span>.<span.
65640 63 6c 61 73 73 3d 22 6c 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
65660 3d 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
65680 22 3e 2f 2f 20 64 65 66 65 72 20 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 ">//.defer.will.execute.an.expre
656a0 73 73 69 6f 6e 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 ssion.at.the.end.of.the.current.
656c0 73 63 6f 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 scope.</span></span>.<span.class
656e0 3d 22 6c 69 6e 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<
65700 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 66 65 /span>.<span.class="tok-fn">defe
65720 72 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rExample</span>().!<span.class="
65740 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 0a tok-type">usize</span>.{</span>.
65760 3c 73 70 61 6e 20 63 6c 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
65780 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 ss="tok-kw">var</span>.a:.<span.
657a0 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>.=.
657c0 3c 73 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
657e0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >;</span>.<span.class="line"></s
65800 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 pan>.<span.class="line">....{</s
65820 70 61 6e 3e 0a 3c 73 70 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">........
65840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e <span.class="tok-kw">defer</span
65860 3e 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 >.a.=.<span.class="tok-number">2
65880 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
658a0 65 22 3e 20 20 20 20 20 20 20 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">........a.=.<span.class="tok-
658c0 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
658e0 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
65900 6c 61 73 73 3d 22 6c 69 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
65920 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 3c 73 70 61 -kw">try</span>.expect(a.==.<spa
65940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">2</span>);<
65960 2f 73 70 61 6e 3e 0a 3c 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
65980 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 20 3d 20 3c 73 70 >.<span.class="line">....a.=.<sp
659a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">5</span>;<
659c0 2f 73 70 61 6e 3e 0a 3c 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
659e0 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>
65a00 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c .a;</span>.<span.class="line">}<
65a20 2f 73 70 61 6e 3e 0a 3c 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
65a40 3e 0a 3c 73 70 61 6e 20 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
65a60 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
65a80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 s="tok-str">&quot;defer.basics&q
65aa0 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
65ac0 3d 22 6c 69 6e 65 22 3e 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"
65ae0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d >try</span>.expect((<span.class=
65b00 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 65 66 65 72 45 78 61 6d 70 6c 65 "tok-kw">try</span>.deferExample
65b20 28 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ()).==.<span.class="tok-number">
65b40 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 22 6c 5</span>);</span>.<span.class="l
65b60 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"
65b80 3e 3c 2f 73 70 61 6e 3e 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
65ba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 6d 75 6c 74 n.class="tok-comment">//.If.mult
65bc0 69 70 6c 65 20 64 65 66 65 72 20 73 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20 73 70 65 63 69 66 iple.defer.statements.are.specif
65be0 69 65 64 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 6e 3c 2f 73 ied,.they.will.be.executed.in</s
65c00 70 61 6e 3e 3c 2f 73 70 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"><
65c20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 span.class="tok-comment">//.the.
65c40 72 65 76 65 72 73 65 20 6f 72 64 65 72 20 74 68 65 79 20 77 65 72 65 20 72 75 6e 2e 3c 2f 73 70 reverse.order.they.were.run.</sp
65c60 61 6e 3e 3c 2f 73 70 61 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
65c80 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
65ca0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 an.class="tok-fn">deferUnwindExa
65cc0 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 mple</span>().<span.class="tok-t
65ce0 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.
65d00 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
65d20 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ss="tok-str">&quot;\n&quot;</spa
65d40 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n>,..{});</span>.<span.class="li
65d60 6e 65 22 3e 3c 2f 73 70 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">.
65d80 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 ...<span.class="tok-kw">defer</s
65da0 70 61 6e 3e 20 7b 3c 2f 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"
65dc0 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >........print(<span.class="tok-
65de0 73 74 72 22 3e 26 71 75 6f 74 3b 31 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 str">&quot;1.&quot;</span>,..{})
65e00 3b 3c 2f 73 70 61 6e 3e 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">....
65e20 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">....
65e40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e <span.class="tok-kw">defer</span
65e60 3e 20 7b 3c 2f 73 70 61 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">..
65e80 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
65ea0 22 3e 26 71 75 6f 74 3b 32 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f ">&quot;2.&quot;</span>,..{});</
65ec0 73 70 61 6e 3e 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">....}</
65ee0 73 70 61 6e 3e 0a 3c 73 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
65f00 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
65f20 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>
65f40 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">..
65f60 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">
65f80 2f 2f 20 64 65 66 65 72 73 20 61 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 20 74 68 65 79 20 61 72 //.defers.are.not.run.if.they.ar
65fa0 65 20 6e 65 76 65 72 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a e.never.executed.</span></span>.
65fc0 3c 73 70 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
65fe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f .class="tok-kw">defer</span>.{</
66000 73 70 61 6e 3e 0a 3c 73 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">.......
66020 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"
66040 3e 26 71 75 6f 74 3b 33 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 >&quot;3.&quot;</span>,..{});</s
66060 70 61 6e 3e 0a 3c 73 70 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">........
66080 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">....
660a0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 }</span>.<span.class="line">}</s
660c0 70 61 6e 3e 0a 3c 73 70 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>.
660e0 3c 73 70 61 6e 20 63 6c 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="
66100 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=
66120 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 "tok-str">&quot;defer.unwinding&
66140 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
66160 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 6d 70 6c 65 28 s="line">....deferUnwindExample(
66180 29 3b 3c 2f 73 70 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">}</
661a0 73 70 61 6e 3e 0a 3c 73 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>
661c0 0a 3c 73 70 61 6e 20 63 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=
661e0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 72 72 64 65 66 65 72 20 6b 65 "tok-comment">//.The.errdefer.ke
66200 79 77 6f 72 64 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 64 65 66 65 72 2c 20 62 75 74 20 77 yword.is.similar.to.defer,.but.w
66220 69 6c 6c 20 6f 6e 6c 79 20 65 78 65 63 75 74 65 20 69 66 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f ill.only.execute.if.the</span></
66240 73 70 61 6e 3e 0a 3c 73 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
66260 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 63 6f 70 65 20 72 65 74 75 lass="tok-comment">//.scope.retu
66280 72 6e 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e rns.with.an.error.</span></span>
662a0 0a 3c 73 70 61 6e 20 63 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=
662c0 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 3e 0a 3c "tok-comment">//</span></span>.<
662e0 73 70 61 6e 20 63 6c 61 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
66300 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c ok-comment">//.This.is.especiall
66320 79 20 75 73 65 66 75 6c 20 69 6e 20 61 6c 6c 6f 77 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 y.useful.in.allowing.a.function.
66340 74 6f 20 63 6c 65 61 6e 20 75 70 20 70 72 6f 70 65 72 6c 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 to.clean.up.properly</span></spa
66360 6e 3e 0a 3c 73 70 61 6e 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
66380 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 6e 20 65 72 72 6f 72 2c 20 61 6e 64 s="tok-comment">//.on.error,.and
663a0 20 72 65 70 6c 61 63 65 73 20 67 6f 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 74 61 .replaces.goto.error.handling.ta
663c0 63 74 69 63 73 20 61 73 20 73 65 65 6e 20 69 6e 20 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ctics.as.seen.in.c.</span></span
663e0 3e 0a 3c 73 70 61 6e 20 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
66400 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=
66420 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 45 72 72 6f 72 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e "tok-fn">deferErrorExample</span
66440 3e 28 69 73 5f 65 72 72 6f 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >(is_error:.<span.class="tok-typ
66460 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
66480 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
664a0 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.
664c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 73 74 61 72 74 20 6f 66 class="tok-str">&quot;\nstart.of
664e0 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 29 3b 3c .function\n&quot;</span>,..{});<
66500 2f 73 70 61 6e 3e 0a 3c 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
66520 3e 0a 3c 73 70 61 6e 20 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
66540 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 77 69 6c 6c 20 lass="tok-comment">//.This.will.
66560 61 6c 77 61 79 73 20 62 65 20 65 78 65 63 75 74 65 64 20 6f 6e 20 65 78 69 74 3c 2f 73 70 61 6e always.be.executed.on.exit</span
66580 3e 3c 2f 73 70 61 6e 3e 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">....
665a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e <span.class="tok-kw">defer</span
665c0 3e 20 7b 3c 2f 73 70 61 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">..
665e0 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
66600 22 3e 26 71 75 6f 74 3b 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 5c 6e 26 71 75 6f 74 3b 3c ">&quot;end.of.function\n&quot;<
66620 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /span>,..{});</span>.<span.class
66640 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
66660 3d 22 6c 69 6e 65 22 3e 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
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 65 72 72 64 e">....<span.class="tok-kw">errd
666a0 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 efer</span>.{</span>.<span.class
666c0 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 61 73 ="line">........print(<span.clas
666e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e s="tok-str">&quot;encountered.an
66700 20 65 72 72 6f 72 21 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 .error!\n&quot;</span>,..{});</s
66720 70 61 6e 3e 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
66740 70 61 6e 3e 0a 3c 73 70 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>.
66760 3c 73 70 61 6e 20 63 6c 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
66780 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 73 5f 65 72 72 6f 72 29 ss="tok-kw">if</span>.(is_error)
667a0 20 7b 3c 2f 73 70 61 6e 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">...
667c0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e .....<span.class="tok-kw">return
667e0 3c 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
66800 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 66 65 72 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 or</span>.DeferError;</span>.<sp
66820 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
66840 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
66860 6c 61 73 73 3d 22 6c 69 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=
66880 22 6c 69 6e 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
668a0 3c 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
668c0 75 6f 74 3b 65 72 72 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 uot;errdefer.unwinding&quot;</sp
668e0 61 6e 3e 20 7b 3c 2f 73 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">
66900 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 45 78 61 6d 70 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 ....deferErrorExample(<span.clas
66920 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 20 3c 73 70 61 6e s="tok-null">false</span>).<span
66940 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 7b 7d 3b .class="tok-kw">catch</span>.{};
66960 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 </span>.<span.class="line">....d
66980 65 66 65 72 45 72 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 eferErrorExample(<span.class="to
669a0 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-null">true</span>).<span.class
669c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e ="tok-kw">catch</span>.{};</span
669e0 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
66a00 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
66a20 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</
66a40 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
66a60 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 65 72 2e 7a s="line">$.<kbd>zig.test.defer.z
66a80 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
66aa0 65 22 3e 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 e">1/3.test.&quot;defer.basics&q
66ac0 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
66ae0 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 ine">2/3.test.&quot;defer.unwind
66b00 69 6e 67 26 71 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 ing&quot;...</span>.<span.class=
66b20 22 6c 69 6e 65 22 3e 32 20 31 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">2.1.OK</span>.<span.class
66b40 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 65 72 72 64 65 66 65 72 20 ="line">3/3.test.&quot;errdefer.
66b60 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 unwinding&quot;...</span>.<span.
66b80 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 74 69 6f 6e 3c 2f class="line">start.of.function</
66ba0 73 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 6e 64 20 6f 66 20 span>.<span.class="line">end.of.
66bc0 66 75 6e 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 function</span>.<span.class="lin
66be0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 e"></span>.<span.class="line">st
66c00 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 20 63 6c 61 art.of.function</span>.<span.cla
66c20 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 3c ss="line">encountered.an.error!<
66c40 2f 73 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 6e 64 20 6f 66 /span>.<span.class="line">end.of
66c60 20 66 75 6e 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 .function</span>.<span.class="li
66c80 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 3d 22 6c 69 6e 65 22 ne">OK</span>.<span.class="line"
66ca0 3e 41 6c 6c 20 33 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.3.tests.passed.</span>.</sa
66cc0 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.
66ce0 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
66d00 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>.......
66d20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 3c 61 20 ........<h2.id="unreachable"><a.
66d40 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 href="nav.xhtml#toc-unreachable"
66d60 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 >unreachable</a>.<a.class="hdr".
66d80 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a href="#unreachable">..</a></h2>.
66da0 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 6e 20 .......<p>.......In.<code><span.
66dc0 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 63 6f 64 65 3e class="line">Debug</span></code>
66de0 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 52 65 .and.<code><span.class="line">Re
66e00 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 65 2c 20 61 6e leaseSafe</span></code>.mode,.an
66e20 64 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 6b 62 64 3e d.when.using.<kbd>zig.test</kbd>
66e40 2c 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"
66e60 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
66e80 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 6d 69 74 73 20 61 20 63 e</span></span></code>.emits.a.c
66ea0 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 6e 65 22 3e all.to.<code><span.class="line">
66ec0 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 6d 65 73 panic</span></code>.with.the.mes
66ee0 73 61 67 65 20 3c 63 6f 64 65 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 sage.<code>reached.unreachable.c
66f00 6f 64 65 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 ode</code>........</p>.......<p>
66f20 0a 20 20 20 20 20 20 49 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......In.<code><span.class="lin
66f40 65 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 e">ReleaseFast</span></code>.mod
66f60 65 2c 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 75 73 65 73 20 74 68 65 20 61 73 73 75 6d 70 e,.the.optimizer.uses.the.assump
66f80 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 6c 69 6e tion.that.<code><span.class="lin
66fa0 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 61 e"><span.class="tok-kw">unreacha
66fc0 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 0a 20 20 ble</span></span></code>.code...
66fe0 20 20 20 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 68 69 74 20 74 6f 20 70 65 72 66 6f 72 6d ....will.never.be.hit.to.perform
67000 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 3c 6b 62 64 3e 7a 69 .optimizations..However,.<kbd>zi
67020 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 65 76 65 6e 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e g.test</kbd>.even.in.<code><span
67040 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 3e .class="line">ReleaseFast</span>
67060 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 </code>.mode...................s
67080 74 69 6c 6c 20 65 6d 69 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 till.emits.<code><span.class="li
670a0 6e 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
670c0 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 20 63 61 6c able</span></span></code>.as.cal
670e0 6c 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 ls.to.<code><span.class="line">p
67100 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 3c 2f 70 3e 0a 20 anic</span></code>........</p>..
67120 20 20 20 20 20 3c 68 33 20 69 64 3d 22 42 61 73 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 .....<h3.id="Basics"><a.href="na
67140 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 42 61 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 3e 20 3c v.xhtml#toc-Basics">Basics</a>.<
67160 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e c2 a7 3c a.class="hdr".href="#Basics">..<
67180 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 74 /a></h3>........<figure><figcapt
671a0 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=
671c0 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 "file">test_unreachable.zig</cit
671e0 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.
67200 63 6c 61 73 73 3d 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
67220 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 75 73 65 64 20 74 6f mment">//.unreachable.is.used.to
67240 20 61 73 73 65 72 74 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e .assert.that.control.flow.will.n
67260 65 76 65 72 20 68 61 70 70 65 6e 20 75 70 6f 6e 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ever.happen.upon.a</span></span>
67280 0a 3c 73 70 61 6e 20 63 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=
672a0 22 74 6f 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 "tok-comment">//.particular.loca
672c0 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d tion:</span></span>.<span.class=
672e0 22 6c 69 6e 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
67300 3c 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
67320 75 6f 74 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 uot;basic.math&quot;</span>.{</s
67340 70 61 6e 3e 0a 3c 73 70 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
67360 6e 20 63 6c 61 73 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.
67380 3d 20 3c 73 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
673a0 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">.
673c0 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
673e0 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
67400 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">2</span>;</span>.<span.class="
67420 6c 69 6e 65 22 3e 20 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
67440 66 3c 2f 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 f</span>.(x.+.y.!=.<span.class="
67460 74 6f 6b 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 tok-number">3</span>).{</span>.<
67480 73 70 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.
674a0 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
674c0 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">...
674e0 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">}</
67500 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
67520 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"
67540 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
67560 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
67580 20 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 .test_unreachable.zig</kbd></spa
675a0 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.&
675c0 71 75 6f 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 quot;basic.math&quot;....OK</spa
675e0 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
67600 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></
67620 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 66 61 63 74 2c 20 74 68 69 73 20 69 figure>.......<p>In.fact,.this.i
67640 73 20 68 6f 77 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 s.how.<code><span.class="line">s
67660 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 td.debug.assert</span></code>.is
67680 20 69 6d 70 6c 65 6d 65 6e 74 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e .implemented:</p>.......<figure>
676a0 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
676c0 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></
676e0 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
67700 73 3d 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
67720 74 22 3e 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 t">//.This.is.how.std.debug.asse
67740 72 74 20 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 rt.is.implemented</span></span>.
67760 3c 73 70 61 6e 20 63 6c 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="
67780 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
677a0 6f 6b 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 ok-fn">assert</span>(ok:.<span.c
677c0 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 3c 73 70 lass="tok-type">bool</span>).<sp
677e0 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>.
67800 7b 3c 2f 73 70 61 6e 3e 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">....
67820 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>.(
67840 21 6f 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 !ok).<span.class="tok-kw">unreac
67860 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 hable</span>;.<span.class="tok-c
67880 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 omment">//.assertion.failure</sp
678a0 61 6e 3e 3c 2f 73 70 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 an></span>.<span.class="line">}<
678c0 2f 73 70 61 6e 3e 0a 3c 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
678e0 3e 0a 3c 73 70 61 6e 20 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
67900 3d 22 74 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 ="tok-comment">//.This.test.will
67920 20 66 61 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 .fail.because.we.hit.unreachable
67940 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
67960 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
67980 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;
679a0 74 68 69 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 this.will.fail&quot;</span>.{</s
679c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 pan>.<span.class="line">....asse
679e0 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c rt(<span.class="tok-null">false<
67a00 2f 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
67a20 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
67a40 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
67a60 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
67a80 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
67aa0 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
67ac0 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 74 an.class="line">1/1.test.&quot;t
67ae0 68 69 73 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 37 39 his.will.fail&quot;....thread.79
67b00 34 31 34 35 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 4145.panic:.reached.unreachable.
67b20 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"><
67b40 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 44 6f 77 span.class="t1_0">/home/andy/Dow
67b60 6e 6c 6f 61 64 73 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 nloads/zig/docgen_tmp/test.zig:3
67b80 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 22 3e 30 :14</span>:.<span.class="t2_0">0
67ba0 78 32 30 37 66 33 62 20 69 6e 20 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c x207f3b.in.assert.(test)</span><
67bc0 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....if
67be0 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e .(!ok).unreachable;.//.assertion
67c00 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 6e .failure</span>.<span.class="lin
67c20 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 32 e">.............<span.class="t32
67c40 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=
67c60 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/
67c80 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 andy/Downloads/zig/docgen_tmp/te
67ca0 73 74 2e 7a 69 67 3a 38 3a 31 31 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:8:11</span>:.<span.class=
67cc0 22 74 32 5f 30 22 3e 30 78 32 30 37 39 63 65 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 "t2_0">0x2079ce.in.test.&quot;th
67ce0 69 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e is.will.fail&quot;.(test)</span>
67d00 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....a
67d20 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 6c 61 73 73 ssert(false);</span>.<span.class
67d40 3d 22 6c 69 6e 65 22 3e 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
67d60 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
67d80 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
67da0 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 e/andy/Downloads/zig/lib/std/spe
67dc0 63 69 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 cial/test_runner.zig:80:28</span
67de0 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 66 34 32 33 20 69 >:.<span.class="t2_0">0x22f423.i
67e00 6e 20 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 n.std.special.main.(test)</span>
67e20 3c 2f 73 70 61 6e 3e 0a 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">.....
67e40 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e ...}.else.test_fn.func();</span>
67e60 0a 3c 73 70 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">............
67e80 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_
67ea0 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="
67ec0 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
67ee0 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e ndy/Downloads/zig/lib/std/start.
67f00 7a 69 67 3a 35 34 33 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 zig:543:22</span>:.<span.class="
67f20 74 32 5f 30 22 3e 30 78 32 32 37 65 31 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c t2_0">0x227e1c.in.std.start.call
67f40 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 6e 20 Main.(test)</span></span>.<span.
67f60 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 6d 61 class="line">............root.ma
67f80 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 22 3e in();</span>.<span.class="line">
67fa0 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
67fc0 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
67fe0 6c 61 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">/
68000 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
68020 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
68040 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 32 33 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x20923e.in.std.star
68060 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>
68080 3c 2f 73 70 61 6e 3e 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
680a0 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
680c0 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
680e0 61 6e 3e 0a 3c 73 70 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">.........
68100 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></
68120 73 70 61 6e 3e 0a 3c 73 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
68140 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 lass="t1_0">/home/andy/Downloads
68160 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 37 3c 2f 73 /zig/lib/std/start.zig:409:17</s
68180 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 38 32 64 pan>:.<span.class="t2_0">0x2082d
681a0 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 41 6e 64 45 6.in.std.start.posixCallMainAndE
681c0 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 61 6e 20 63 xit.(test)</span></span>.<span.c
681e0 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 40 63 61 6c lass="line">....std.os.exit(@cal
68200 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 65 20 l(.{..modifier.=..always_inline.
68220 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 2c 20 61 72 },.callMainWithArgs,..{.argc,.ar
68240 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 6c 61 73 73 gv,.envp.}));</span>.<span.class
68260 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ="line">................<span.cl
68280 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
682a0 6e 20 63 6c 61 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
682c0 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 ">/home/andy/Downloads/zig/lib/s
682e0 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
68300 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 30 65 32 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x2080e2.in.std.st
68320 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>.
68340 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(.{.
68360 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
68380 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>.
683a0 3c 73 70 61 6e 20 63 6c 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
683c0 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
683e0 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
68400 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>.
68420 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
68440 67 2d 63 61 63 68 65 2f 6f 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 33 36 30 g-cache/o/8e4964e05ddaf866e77360
68460 61 35 35 31 62 33 63 30 35 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c a551b3c05b/test./home/andy/Downl
68480 6f 61 64 73 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 oads/zig/build-release/zig</span
684a0 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>........
684c0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 3c ......<h3.id="At-Compile-Time"><
684e0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 a.href="nav.xhtml#toc-At-Compile
68500 2d 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c -Time">At.Compile-Time</a>.<a.cl
68520 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 ass="hdr".href="#At-Compile-Time
68540 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 ">..</a></h3>........<figure><fi
68560 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
68580 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
685a0 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="
685c0 6c 69 6e 65 22 3e 3c 73 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
685e0 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>.assert.=.<span.class="to
68600 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.
68620 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;<
68640 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 3c 73 70 /span>).debug.assert;</span>.<sp
68660 61 6e 20 63 6c 61 73 73 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
68680 61 73 73 3d 22 6c 69 6e 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">
686a0 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
686c0 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 26 71 75 6f 74 ">&quot;type.of.unreachable&quot
686e0 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
68700 69 6e 65 22 3e 20 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
68720 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
68740 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
68760 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 75 6e 72 65 61 ok-comment">//.The.type.of.unrea
68780 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 2f 73 70 61 6e chable.is.noreturn.</span></span
687a0 3e 0a 3c 73 70 61 6e 20 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
687c0 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
687e0 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 72 20 74 68 69 ass="tok-comment">//.However.thi
68800 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 20 74 6f 20 63 s.assertion.will.still.fail.to.c
68820 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 3e 0a 3c 73 70 ompile.because</span></span>.<sp
68840 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
68860 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 68 61 62 6c 65 ass="tok-comment">//.unreachable
68880 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 72 6f 72 73 2e .expressions.are.compile.errors.
688a0 3c 2f 73 70 61 6e 3e 3c 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
688c0 22 3e 3c 2f 73 70 61 6e 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">...
688e0 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 6b 2d 62 75 69 .....assert(<span.class="tok-bui
68900 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@TypeOf</span>(<span.class
68920 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 29 20 3d 3d ="tok-kw">unreachable</span>).==
68940 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e .<span.class="tok-type">noreturn
68960 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
68980 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
689a0 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
689c0 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
689e0 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><
68a00 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
68a20 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 73 ig.test.test.zig</kbd></span>.<s
68a40 70 61 6e 20 63 6c 61 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
68a60 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 31 36 3a 20 3c _0">docgen_tmp/test.zig:10:16:.<
68a80 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:
68aa0 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 75 6e 72 65 61 </span><span.class="t1_0">.unrea
68ac0 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 61 73 73 3d 22 chable.code</span>.<span.class="
68ae0 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 28 40 54 79 70 line"></span>........assert(@Typ
68b00 65 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 75 72 6e 29 3b 3c 2f eOf(unreachable).==.noreturn);</
68b20 73 70 61 6e 3e 0a 3c 73 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">.......
68b40 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
68b60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c pan>.<span.class="line"></span><
68b80 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 74 65 73 span.class="t1_0">docgen_tmp/tes
68ba0 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 6c 61 73 73 3d t.zig:10:24:.</span><span.class=
68bc0 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 6c 61 73 73 3d "t36_1">note:</span><span.class=
68be0 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 65 72 74 65 64 "t1_0">.control.flow.is.diverted
68c00 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 22 3e .here</span>.<span.class="line">
68c20 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 4f 66 28 75 6e </span>........assert(@TypeOf(un
68c40 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 70 61 6e 3e 0a reachable).==.noreturn);</span>.
68c60 3c 73 70 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">.............
68c80 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">^<
68ca0 2f 73 70 61 6e 3e 0a 3c 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
68cc0 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>.
68ce0 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><
68d00 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 3c 2f 61 3e 3c a.href="#Zig-Test">Zig.Test</a><
68d20 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 64 65 22 3e 42 /li>.<li><a.href="#Build-Mode">B
68d40 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 72 65 66 3d 22 uild.Mode</a></li>.<li><a.href="
68d60 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 #comptime">comptime</a></li>.</u
68d80 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="
68da0 6e 6f 72 65 74 75 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 noreturn"><a.href="nav.xhtml#toc
68dc0 2d 6e 6f 72 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 -noreturn">noreturn</a>.<a.class
68de0 3d 22 68 64 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 ="hdr".href="#noreturn">..</a></
68e00 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e h2>........<p>.......<code><span
68e20 20 63 6c 61 73 73 3d 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
68e40 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ype">noreturn</span></span></cod
68e60 65 3e 20 69 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 e>.is.the.type.of:.......</p>...
68e80 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
68ea0 61 6e 20 63 6c 61 73 73 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
68ec0 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -kw">break</span></span></code><
68ee0 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
68f00 6c 61 73 73 3d 22 6c 69 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"
68f20 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 3c 2f >continue</span></span></code></
68f40 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
68f60 61 73 73 3d 22 6c 69 6e 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">
68f80 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e return</span></span></code></li>
68fa0 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
68fc0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 ="line"><span.class="tok-kw">unr
68fe0 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c eachable</span></span></code></l
69000 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
69020 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 ss="line"><span.class="tok-kw">w
69040 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 hile</span>.(<span.class="tok-nu
69060 6c 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 3c 2f 63 6f 64 65 ll">true</span>).{}</span></code
69080 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 57 68 65 6e ></li>.......</ul>.......<p>When
690a0 20 72 65 73 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 .resolving.types.together,.such.
690c0 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 as.<code><span.class="line"><spa
690e0 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
69100 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 73 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ></code>.clauses.or.<code><span.
69120 63 6c 61 73 73 3d 22 6c 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
69140 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 70 72 ">switch</span></span></code>.pr
69160 6f 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 ongs,...............the.<code><s
69180 70 61 6e 20 63 6c 61 73 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
691a0 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f k-type">noreturn</span></span></
691c0 63 6f 64 65 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 code>.type.is.compatible.with.ev
691e0 65 72 79 20 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 ery.other.type..Consider:.......
69200 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
69220 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
69240 22 3e 74 65 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 ">test_noreturn.zig</cite></figc
69260 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
69280 69 6e 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
692a0 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
692c0 61 6e 3e 28 63 6f 6e 64 69 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>(condition:.<span.class="tok-
692e0 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 61 73 type">bool</span>,.b:.<span.clas
69300 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
69320 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
69340 70 61 6e 3e 0a 3c 73 70 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
69360 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 n.class="tok-kw">const</span>.a.
69380 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e =.<span.class="tok-kw">if</span>
693a0 20 28 63 6f 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 .(condition).b.<span.class="tok-
693c0 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 6b kw">else</span>.<span.class="tok
693e0 2d 6b 77 22 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 -kw">return</span>;</span>.<span
69400 20 63 6c 61 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 .class="line">...._.=.a;</span>.
69420 3c 73 70 61 6e 20 63 6c 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
69440 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c ss="tok-builtin">@panic</span>(<
69460 73 70 61 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 20 73 6f span.class="tok-str">&quot;do.so
69480 6d 65 74 68 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 mething.with.a&quot;</span>);</s
694a0 70 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>
694c0 0a 3c 73 70 61 6e 20 63 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=
694e0 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
69500 3d 22 74 6f 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 ="tok-str">&quot;noreturn&quot;<
69520 2f 73 70 61 6e 3e 20 7b 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
69540 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 6e 75 6c 6c e">....foo(<span.class="tok-null
69560 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">false</span>,.<span.class="tok
69580 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 61 6e -number">1</span>);</span>.<span
695a0 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
695c0 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.
695e0 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
69600 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
69620 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e 2e ">$.<kbd>zig.test.test_noreturn.
69640 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
69660 6e 65 22 3e 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 ne">1/1.test.&quot;noreturn&quot
69680 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
696a0 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
696c0 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 6e 6f amp></pre></figure>.......<p>Ano
696e0 74 68 65 72 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 ther.use.case.for.<code><span.cl
69700 61 73 73 3d 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
69720 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 20 ">noreturn</span></span></code>.
69740 69 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e is.the.<code><span.class="line">
69760 65 78 69 74 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 exit</span></code>.function:</p>
69780 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
697a0 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 6f ="zig-cap"><cite.class="file">no
697c0 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 65 78 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 return_from_exit.zig</cite></fig
697e0 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="
69800 6c 69 6e 65 22 3e 3c 73 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
69820 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
69840 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
69860 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
69880 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">
698a0 3c 73 70 61 6e 20 63 6c 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
698c0 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 >.builtin.=.<span.class="tok-bui
698e0 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
69900 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f ="tok-str">&quot;builtin&quot;</
69920 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
69940 22 3e 3c 73 70 61 6e 20 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
69960 61 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 an>.native_arch.=.builtin.cpu.ar
69980 63 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 ch;</span>.<span.class="line"><s
699a0 70 61 6e 20 63 6c 61 73 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>.
699c0 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
699e0 61 6e 3e 0a 3c 73 70 61 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>.<
69a00 73 70 61 6e 20 63 6c 61 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
69a20 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 20 73 74 64 2e ok-kw">const</span>.WINAPI:.std.
69a40 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 20 3c 73 70 61 builtin.CallingConvention.=.<spa
69a60 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 6e 61 74 69 n.class="tok-kw">if</span>.(nati
69a80 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 6b 2d 74 79 70 ve_arch.==..<span.class="tok-typ
69aa0 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 70 61 6e 20 63 e">i386</span>)..Stdcall.<span.c
69ac0 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 43 3b 3c 2f 73 lass="tok-kw">else</span>..C;</s
69ae0 70 61 6e 3e 0a 3c 73 70 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
69b00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">extern</span>.<span
69b20 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 65 6c 33 32 26 .class="tok-str">&quot;kernel32&
69b40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 quot;</span>.<span.class="tok-kw
69b60 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"
69b80 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 64 65 3a 20 3c >ExitProcess</span>(exit_code:.<
69ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 span.class="tok-type">c_uint</sp
69bc0 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 63 6f an>).<span.class="tok-kw">callco
69be0 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 22 74 nv</span>(WINAPI).<span.class="t
69c00 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 6e 3e ok-type">noreturn</span>;</span>
69c20 0a 3c 73 70 61 6e 20 63 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
69c40 6e 20 63 6c 61 73 73 3d 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-
69c60 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
69c80 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 2f -str">&quot;foo&quot;</span>.{</
69ca0 73 70 61 6e 3e 0a 3c 73 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
69cc0 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.v
69ce0 61 6c 75 65 20 3d 20 62 61 72 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 alue.=.bar().<span.class="tok-kw
69d00 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 45 78 69 74 50 72 6f 63 65 73 73 28 3c 73 70 61 6e ">catch</span>.ExitProcess(<span
69d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f .class="tok-number">1</span>);</
69d40 73 70 61 6e 3e 0a 3c 73 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
69d60 61 6e 20 63 6c 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
69d80 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
69da0 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">1234</span>);</span>.<span
69dc0 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
69de0 73 73 3d 22 6c 69 6e 65 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
69e00 69 6e 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
69e20 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
69e40 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 79 an>().<span.class="tok-type">any
69e60 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 error</span>!<span.class="tok-ty
69e80 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 6c pe">u32</span>.{</span>.<span.cl
69ea0 61 73 73 3d 22 6c 69 6e 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-
69ec0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">return</span>.<span.class="t
69ee0 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>.<
69f00 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
69f20 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
69f40 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
69f60 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="
69f80 6c 69 6e 65 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 line">$.<kbd>zig.test.noreturn_f
69fa0 72 6f 6d 5f 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 rom_exit.zig.-target.x86_64-wind
69fc0 6f 77 73 20 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 ows.--test-no-exec</kbd></span>.
69fe0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 </samp></pre></figure>..........
6a000 20 20 20 20 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 .....<h2.id="Functions"><a.href=
6a020 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 "nav.xhtml#toc-Functions">Functi
6a040 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 ons</a>.<a.class="hdr".href="#Fu
6a060 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 nctions">..</a></h2>........<fig
6a080 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">
6a0a0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 <cite.class="file">functions.zig
6a0c0 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><
6a0e0 73 70 61 6e 20 63 6c 61 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
6a100 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
6a120 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
6a140 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
6a160 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
6a180 6c 61 73 73 3d 22 6c 69 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"
6a1a0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c >const</span>.builtin.=.<span.cl
6a1c0 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>
6a1e0 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 62 75 69 (<span.class="tok-str">&quot;bui
6a200 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ltin&quot;</span>);</span>.<span
6a220 20 63 6c 61 73 73 3d 22 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
6a240 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 20 62 75 w">const</span>.native_arch.=.bu
6a260 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 iltin.cpu.arch;</span>.<span.cla
6a280 73 73 3d 22 6c 69 6e 65 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
6a2a0 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
6a2c0 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
6a2e0 65 22 3e 3c 2f 73 70 61 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
6a300 70 61 6e 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 6e 63 74 pan.class="tok-comment">//.Funct
6a320 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 6c 69 6b 65 20 74 68 69 73 3c 2f 73 70 61 ions.are.declared.like.this</spa
6a340 6e 3e 3c 2f 73 70 61 6e 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
6a360 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
6a380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c n.class="tok-fn">add</span>(a:.<
6a3a0 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 2c span.class="tok-type">i8</span>,
6a3c0 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 .b:.<span.class="tok-type">i8</s
6a3e0 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 38 3c pan>).<span.class="tok-type">i8<
6a400 2f 73 70 61 6e 3e 20 7b 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
6a420 65 22 3e 20 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</
6a440 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 75 6d span>.(a.==.<span.class="tok-num
6a460 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">0</span>).{</span>.<span.cl
6a480 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="
6a4a0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a tok-kw">return</span>.b;</span>.
6a4c0 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>.
6a4e0 3c 73 70 61 6e 20 63 6c 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
6a500 20 63 6c 61 73 73 3d 22 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
6a520 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 ok-kw">return</span>.a.+.b;</spa
6a540 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>.<
6a560 73 70 61 6e 20 63 6c 61 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.
6a580 63 6c 61 73 73 3d 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
6a5a0 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 78 70 6f 72 74 20 73 70 65 63 69 66 69 65 72 20 6d mment">//.The.export.specifier.m
6a5c0 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 62 akes.a.function.externally.visib
6a5e0 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e le.in.the.generated</span></span
6a600 3e 0a 3c 73 70 61 6e 20 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
6a620 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c 20 61 ="tok-comment">//.object.file,.a
6a640 6e 64 20 6d 61 6b 65 73 20 69 74 20 75 73 65 20 74 68 65 20 43 20 41 42 49 2e 3c 2f 73 70 61 6e nd.makes.it.use.the.C.ABI.</span
6a660 3e 3c 2f 73 70 61 6e 3e 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
6a680 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>.<
6a6a0 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
6a6c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 62 3c 2f 73 70 61 6e 3e 28 61 3a pan.class="tok-fn">sub</span>(a:
6a6e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e .<span.class="tok-type">i8</span
6a700 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c >,.b:.<span.class="tok-type">i8<
6a720 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
6a740 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 8</span>.{.<span.class="tok-kw">
6a760 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 return</span>.a.-.b;.}</span>.<s
6a780 70 61 6e 20 63 6c 61 73 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
6a7a0 6c 61 73 73 3d 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
6a7c0 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 78 74 65 72 6e 20 73 70 65 63 69 66 69 65 72 20 69 73 ment">//.The.extern.specifier.is
6a7e0 20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 .used.to.declare.a.function.that
6a800 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .will.be.resolved</span></span>.
6a820 3c 73 70 61 6e 20 63 6c 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="
6a840 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 tok-comment">//.at.link.time,.wh
6a860 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 61 74 20 72 75 6e en.linking.statically,.or.at.run
6a880 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e time,.when.linking</span></span>
6a8a0 0a 3c 73 70 61 6e 20 63 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=
6a8c0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 3c 2f 73 "tok-comment">//.dynamically.</s
6a8e0 70 61 6e 3e 3c 2f 73 70 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"><
6a900 73 70 61 6e 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.
6a920 63 61 6c 6c 63 6f 6e 76 20 73 70 65 63 69 66 69 65 72 20 63 68 61 6e 67 65 73 20 74 68 65 20 63 callconv.specifier.changes.the.c
6a940 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f alling.convention.of.the.functio
6a960 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.</span></span>.<span.class="li
6a980 6e 65 22 3e 3c 73 70 61 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</
6a9a0 73 70 61 6e 3e 20 57 49 4e 41 50 49 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 69 6e span>.WINAPI:.std.builtin.Callin
6a9c0 67 43 6f 6e 76 65 6e 74 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b gConvention.=.<span.class="tok-k
6a9e0 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 3d 20 2e 3c 73 w">if</span>.(native_arch.==..<s
6aa00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 38 36 3c 2f 73 70 61 6e 3e pan.class="tok-type">i386</span>
6aa20 29 20 2e 53 74 64 63 61 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e )..Stdcall.<span.class="tok-kw">
6aa40 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 2e 43 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 else</span>..C;</span>.<span.cla
6aa60 73 73 3d 22 6c 69 6e 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
6aa80 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
6aaa0 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c r">&quot;kernel32&quot;</span>.<
6aac0 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
6aae0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 3c 2f pan.class="tok-fn">ExitProcess</
6ab00 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>(exit_code:.<span.class="to
6ab20 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 3d k-type">u32</span>).<span.class=
6ab40 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 57 49 4e 41 50 49 29 "tok-kw">callconv</span>(WINAPI)
6ab60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e .<span.class="tok-type">noreturn
6ab80 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
6aba0 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</
6abc0 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
6abe0 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t;c&quot;</span>.<span.class="to
6ac00 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
6ac20 2d 66 6e 22 3e 61 74 61 6e 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -fn">atan2</span>(a:.<span.class
6ac40 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e ="tok-type">f64</span>,.b:.<span
6ac60 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
6ac80 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>;
6aca0 3c 2f 73 70 61 6e 3e 0a 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
6acc0 6e 3e 0a 3c 73 70 61 6e 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
6ace0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 40 73 65 74 43 6f 6c 64 20 s="tok-comment">//.The.@setCold.
6ad00 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 74 68 61 74 builtin.tells.the.optimizer.that
6ad20 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 65 6c 79 20 63 61 6c 6c 65 64 2e 3c 2f 73 .a.function.is.rarely.called.</s
6ad40 70 61 6e 3e 3c 2f 73 70 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"><
6ad60 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
6ad80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 62 6f 72 74 3c 2f 73 70 61 6e 3e 28 pan.class="tok-fn">abort</span>(
6ada0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 ).<span.class="tok-type">noretur
6adc0 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n</span>.{</span>.<span.class="l
6ade0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 ine">....<span.class="tok-builti
6ae00 6e 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@setCold</span>(<span.class="
6ae20 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-null">true</span>);</span>.<
6ae40 73 70 61 6e 20 63 6c 61 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
6ae60 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 20 63 s="tok-kw">while</span>.(<span.c
6ae80 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 7d 3c lass="tok-null">true</span>).{}<
6aea0 2f 73 70 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
6aec0 6e 3e 0a 3c 73 70 61 6e 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
6aee0 70 61 6e 20 63 6c 61 73 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
6af00 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 61 6b 65 64 20 63 61 6c 6c 69 6e 67 20 k-comment">//.The.naked.calling.
6af20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 20 convention.makes.a.function.not.
6af40 68 61 76 65 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6c 6f 67 75 65 20 6f 72 20 65 70 have.any.function.prologue.or.ep
6af60 69 6c 6f 67 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ilogue.</span></span>.<span.clas
6af80 73 3d 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
6afa0 74 22 3e 2f 2f 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 69 6e t">//.This.can.be.useful.when.in
6afc0 74 65 67 72 61 74 69 6e 67 20 77 69 74 68 20 61 73 73 65 6d 62 6c 79 2e 3c 2f 73 70 61 6e 3e 3c tegrating.with.assembly.</span><
6afe0 2f 73 70 61 6e 3e 0a 3c 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.
6b000 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
6b020 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 5f 73 74 61 72 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 lass="tok-fn">_start</span>().<s
6b040 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 pan.class="tok-kw">callconv</spa
6b060 6e 3e 28 2e 4e 61 6b 65 64 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n>(.Naked).<span.class="tok-type
6b080 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">noreturn</span>.{</span>.<span
6b0a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 62 6f 72 74 28 29 3b 3c 2f 73 70 61 6e .class="line">....abort();</span
6b0c0 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
6b0e0 70 61 6e 20 63 6c 61 73 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
6b100 6c 61 73 73 3d 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
6b120 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 69 6e 6c 69 6e 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 ment">//.The.inline.calling.conv
6b140 65 6e 74 69 6f 6e 20 66 6f 72 63 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 ention.forces.a.function.to.be.i
6b160 6e 6c 69 6e 65 64 20 61 74 20 61 6c 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e 3c 2f 73 70 61 6e 3e nlined.at.all.call.sites.</span>
6b180 3c 2f 73 70 61 6e 3e 0a 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
6b1a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 74 68 65 20 66 .class="tok-comment">//.If.the.f
6b1c0 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20 69 6e 6c 69 6e 65 64 2c 20 69 74 20 69 73 unction.cannot.be.inlined,.it.is
6b1e0 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 .a.compile-time.error.</span></s
6b200 70 61 6e 3e 0a 3c 73 70 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
6b220 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
6b240 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 68 69 66 74 4c 65 66 74 4f 6e 65 3c 2f 73 70 61 6e 3e 28 ss="tok-fn">shiftLeftOne</span>(
6b260 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 a:.<span.class="tok-type">u32</s
6b280 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 63 pan>).<span.class="tok-kw">callc
6b2a0 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 49 6e 6c 69 6e 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d onv</span>(.Inline).<span.class=
6b2c0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">u32</span>.{</span>.<
6b2e0 73 70 61 6e 20 63 6c 61 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
6b300 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 26 6c 74 3b 26 s="tok-kw">return</span>.a.&lt;&
6b320 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 3c 2f lt;.<span.class="tok-number">1</
6b340 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"
6b360 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
6b380 70 61 6e 3e 0a 3c 73 70 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
6b3a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 70 75 62 20 73 70 65 ass="tok-comment">//.The.pub.spe
6b3c0 63 69 66 69 65 72 20 61 6c 6c 6f 77 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 cifier.allows.the.function.to.be
6b3e0 20 76 69 73 69 62 6c 65 20 77 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 2e 3c 2f 73 70 61 6e 3e 3c .visible.when.importing.</span><
6b400 2f 73 70 61 6e 3e 0a 3c 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.
6b420 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 6f 74 68 65 72 20 66 class="tok-comment">//.Another.f
6b440 69 6c 65 20 63 61 6e 20 75 73 65 20 40 69 6d 70 6f 72 74 20 61 6e 64 20 63 61 6c 6c 20 73 75 62 ile.can.use.@import.and.call.sub
6b460 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 2</span></span>.<span.class="lin
6b480 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
6b4a0 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
6b4c0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 62 32 3c 2f 73 70 61 >.<span.class="tok-fn">sub2</spa
6b4e0 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c n>(a:.<span.class="tok-type">i8<
6b500 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>,.b:.<span.class="tok-type
6b520 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">i8</span>).<span.class="tok-ty
6b540 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">i8</span>.{.<span.class="tok
6b560 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 70 61 -kw">return</span>.a.-.b;.}</spa
6b580 6e 3e 0a 3c 73 70 61 6e 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
6b5a0 70 61 6e 20 63 6c 61 73 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
6b5c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 k-comment">//.Functions.can.be.u
6b5e0 73 65 64 20 61 73 20 76 61 6c 75 65 73 20 61 6e 64 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 sed.as.values.and.are.equivalent
6b600 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .to.pointers.</span></span>.<spa
6b620 6e 20 63 6c 61 73 73 3d 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-
6b640 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 61 6c 6c 32 5f 6f 70 20 3d 20 3c 73 70 61 kw">const</span>.call2_op.=.<spa
6b660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 61 3a 20 3c n.class="tok-kw">fn</span>.(a:.<
6b680 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 2c span.class="tok-type">i8</span>,
6b6a0 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 .b:.<span.class="tok-type">i8</s
6b6c0 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 38 3c pan>).<span.class="tok-type">i8<
6b6e0 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
6b700 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>
6b720 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 5f 6f 70 3c 2f 73 70 61 .<span.class="tok-fn">do_op</spa
6b740 6e 3e 28 66 6e 5f 63 61 6c 6c 3a 20 63 61 6c 6c 32 5f 6f 70 2c 20 6f 70 31 3a 20 3c 73 70 61 6e n>(fn_call:.call2_op,.op1:.<span
6b760 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 20 6f 70 32 .class="tok-type">i8</span>,.op2
6b780 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 :.<span.class="tok-type">i8</spa
6b7a0 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 38 3c 2f 73 n>).<span.class="tok-type">i8</s
6b7c0 70 61 6e 3e 20 7b 3c 2f 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"
6b7e0 3e 20 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
6b800 3c 2f 73 70 61 6e 3e 20 66 6e 5f 63 61 6c 6c 28 6f 70 31 2c 20 6f 70 32 29 3b 3c 2f 73 70 61 6e </span>.fn_call(op1,.op2);</span
6b820 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
6b840 70 61 6e 20 63 6c 61 73 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
6b860 6c 61 73 73 3d 22 6c 69 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"
6b880 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
6b8a0 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b r">&quot;function&quot;</span>.{
6b8c0 3c 2f 73 70 61 6e 3e 0a 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">....<
6b8e0 73 70 61 6e 20 63 6c 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
6b900 78 70 65 63 74 28 64 6f 5f 6f 70 28 61 64 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f xpect(do_op(add,.<span.class="to
6b920 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=
6b940 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">6</span>).==.<span.
6b960 63 6c 61 73 73 3d 22 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 class="tok-number">11</span>);</
6b980 73 70 61 6e 3e 0a 3c 73 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
6b9a0 61 6e 20 63 6c 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
6b9c0 65 63 74 28 64 6f 5f 6f 70 28 73 75 62 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ect(do_op(sub2,.<span.class="tok
6b9e0 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="
6ba00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 tok-number">6</span>).==.-<span.
6ba20 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
6ba40 70 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>
6ba60 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
6ba80 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
6baa0 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
6bac0 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 75 6e 63 lass="line">$.<kbd>zig.test.func
6bae0 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 20 63 6c 61 tions.zig</kbd></span>.<span.cla
6bb00 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 66 75 6e 63 74 69 6f ss="line">1/1.test.&quot;functio
6bb20 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 73 73 n&quot;....OK</span>.<span.class
6bb40 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
6bb60 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>.......
6bb80 3c 70 3e 46 75 6e 63 74 69 6f 6e 20 76 61 6c 75 65 73 20 61 72 65 20 6c 69 6b 65 20 70 6f 69 6e <p>Function.values.are.like.poin
6bba0 74 65 72 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ters:</p>.......<figure><figcapt
6bbc0 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=
6bbe0 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
6bc00 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"
6bc20 3e 3c 73 70 61 6e 20 63 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
6bc40 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.assert.=.<span.class="tok-bui
6bc60 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
6bc80 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
6bca0 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >).debug.assert;</span>.<span.cl
6bcc0 61 73 73 3d 22 6c 69 6e 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="
6bce0 6c 69 6e 65 22 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
6bd00 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=
6bd20 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 "line">....assert(<span.class="t
6bd40 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 20 ok-builtin">@TypeOf</span>(foo).
6bd60 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
6bd80 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 76 6f 69 64 3c 2f >()<span.class="tok-type">void</
6bda0 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
6bdc0 22 3e 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 6b 2d 62 75 ">....assert(<span.class="tok-bu
6bde0 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@sizeOf</span>(<span.clas
6be00 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
6be20 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 20 3d 3d 20 3c 73 70 s="tok-type">void</span>).==.<sp
6be40 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</
6be60 73 70 61 6e 3e 28 3f 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</
6be80 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 76 6f span>()<span.class="tok-type">vo
6bea0 69 64 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 id</span>));</span>.<span.class=
6bec0 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
6bee0 65 22 3e 3c 2f 73 70 61 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
6bf00 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
6bf20 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 3c an.class="tok-fn">foo</span>().<
6bf40 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
6bf60 3e 20 7b 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 69 67 75 72 >.{.}</span></code></pre></figur
6bf80 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
6bfa0 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><
6bfc0 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
6bfe0 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 2f 73 70 61 ig.build-obj.test.zig</kbd></spa
6c000 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>.......
6c020 3c 68 33 20 69 64 3d 22 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 <h3.id="Pass-by-value-Parameters
6c040 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 50 61 73 73 2d 62 79 "><a.href="nav.xhtml#toc-Pass-by
6c060 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 -value-Parameters">Pass-by-value
6c080 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 .Parameters</a>.<a.class="hdr".h
6c0a0 72 65 66 3d 22 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e ref="#Pass-by-value-Parameters">
6c0c0 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 72 69 ..</a></h3>........<p>.......Pri
6c0e0 6d 69 74 69 76 65 20 74 79 70 65 73 20 73 75 63 68 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 49 mitive.types.such.as.<a.href="#I
6c100 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 3c 61 20 68 72 65 ntegers">Integers</a>.and.<a.hre
6c120 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 70 61 73 73 65 64 20 61 73 f="#Floats">Floats</a>.passed.as
6c140 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 20 61 72 65 20 63 6f 70 69 65 64 2c 20 61 6e .parameters.......are.copied,.an
6c160 64 20 74 68 65 6e 20 74 68 65 20 63 6f 70 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 d.then.the.copy.is.available.in.
6c180 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 54 68 69 73 20 69 73 20 63 61 6c 6c 65 the.function.body..This.is.calle
6c1a0 64 20 22 70 61 73 73 69 6e 67 20 62 79 20 76 61 6c 75 65 22 2e 0a 20 20 20 20 20 20 43 6f 70 79 d."passing.by.value"........Copy
6c1c0 69 6e 67 20 61 20 70 72 69 6d 69 74 69 76 65 20 74 79 70 65 20 69 73 20 65 73 73 65 6e 74 69 61 ing.a.primitive.type.is.essentia
6c1e0 6c 6c 79 20 66 72 65 65 20 61 6e 64 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6c 76 65 73 20 lly.free.and.typically.involves.
6c200 6e 6f 74 68 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 20 20 73 65 74 74 69 6e 67 20 nothing.more.than.......setting.
6c220 61 20 72 65 67 69 73 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 a.register........</p>.......<p>
6c240 0a 20 20 20 20 20 20 53 74 72 75 63 74 73 2c 20 75 6e 69 6f 6e 73 2c 20 61 6e 64 20 61 72 72 61 .......Structs,.unions,.and.arra
6c260 79 73 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 20 6d 6f 72 65 20 65 66 66 69 63 69 65 ys.can.sometimes.be.more.efficie
6c280 6e 74 6c 79 20 70 61 73 73 65 64 20 61 73 20 61 20 72 65 66 65 72 65 6e 63 65 2c 20 73 69 6e 63 ntly.passed.as.a.reference,.sinc
6c2a0 65 20 61 20 63 6f 70 79 0a 20 20 20 20 20 20 63 6f 75 6c 64 20 62 65 20 61 72 62 69 74 72 61 72 e.a.copy.......could.be.arbitrar
6c2c0 69 6c 79 20 65 78 70 65 6e 73 69 76 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 ily.expensive.depending.on.the.s
6c2e0 69 7a 65 2e 20 57 68 65 6e 20 74 68 65 73 65 20 74 79 70 65 73 20 61 72 65 20 70 61 73 73 65 64 ize..When.these.types.are.passed
6c300 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 2c 20 5a 69 67 20 6d 61 79 20 63 68 .......as.parameters,.Zig.may.ch
6c320 6f 6f 73 65 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 70 61 73 73 20 62 79 20 76 61 6c 75 65 2c 20 oose.to.copy.and.pass.by.value,.
6c340 6f 72 20 70 61 73 73 20 62 79 20 72 65 66 65 72 65 6e 63 65 2c 20 77 68 69 63 68 65 76 65 72 20 or.pass.by.reference,.whichever.
6c360 77 61 79 0a 20 20 20 20 20 20 5a 69 67 20 64 65 63 69 64 65 73 20 77 69 6c 6c 20 62 65 20 66 61 way.......Zig.decides.will.be.fa
6c380 73 74 65 72 2e 20 54 68 69 73 20 69 73 20 6d 61 64 65 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 20 ster..This.is.made.possible,.in.
6c3a0 70 61 72 74 2c 20 62 79 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 70 61 72 61 6d 65 74 65 72 part,.by.the.fact.that.parameter
6c3c0 73 20 61 72 65 20 69 6d 6d 75 74 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 s.are.immutable........</p>.....
6c3e0 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
6c400 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 61 73 73 5f 62 79 -cap"><cite.class="file">pass_by
6c420 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f _reference_or_value.zig</cite></
6c440 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
6c460 73 3d 22 6c 69 6e 65 22 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
6c480 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nst</span>.Point.=.<span.class="
6c4a0 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>.<
6c4c0 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
6c4e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-type">i32</span>,</spa
6c500 6e 3e 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
6c520 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c an.class="tok-type">i32</span>,<
6c540 2f 73 70 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
6c560 61 6e 3e 0a 3c 73 70 61 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>.<
6c580 73 70 61 6e 20 63 6c 61 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
6c5a0 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
6c5c0 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 70 6f 69 6e 74 3a 20 50 6f 69 6e 74 29 20 3c k-fn">foo</span>(point:.Point).<
6c5e0 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>
6c600 20 7b 3c 2f 73 70 61 6e 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">...
6c620 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 .<span.class="tok-comment">//.He
6c640 72 65 2c 20 60 70 6f 69 6e 74 60 20 63 6f 75 6c 64 20 62 65 20 61 20 72 65 66 65 72 65 6e 63 65 re,.`point`.could.be.a.reference
6c660 2c 20 6f 72 20 61 20 63 6f 70 79 2e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 3c 2f ,.or.a.copy..The.function.body</
6c680 73 70 61 6e 3e 3c 2f 73 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">
6c6a0 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">//
6c6c0 20 63 61 6e 20 69 67 6e 6f 72 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 61 6e 64 20 74 .can.ignore.the.difference.and.t
6c6e0 72 65 61 74 20 69 74 20 61 73 20 61 20 76 61 6c 75 65 2e 20 42 65 20 76 65 72 79 20 63 61 72 65 reat.it.as.a.value..Be.very.care
6c700 66 75 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 ful</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 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
6c740 74 22 3e 2f 2f 20 74 61 6b 69 6e 67 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 t">//.taking.the.address.of.the.
6c760 70 61 72 61 6d 65 74 65 72 20 2d 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 parameter.-.it.should.be.treated
6c780 20 61 73 20 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .as.if</span></span>.<span.class
6c7a0 3d 22 6c 69 6e 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
6c7c0 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 62 65 63 6f 6d 65 ment">//.the.address.will.become
6c7e0 20 69 6e 76 61 6c 69 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 .invalid.when.the.function.retur
6c800 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ns.</span></span>.<span.class="l
6c820 69 6e 65 22 3e 20 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
6c840 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 2e 78 20 2b 20 70 6f 69 6e 74 2e 79 3b 3c 2f turn</span>.point.x.+.point.y;</
6c860 73 70 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
6c880 3e 0a 3c 73 70 61 6e 20 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
6c8a0 61 6e 20 63 6c 61 73 73 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
6c8c0 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
6c8e0 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
6c900 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;
6c920 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
6c940 3b 3c 2f 73 70 61 6e 3e 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
6c960 61 6e 3e 0a 3c 73 70 61 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
6c980 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
6c9a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 73 73 20 73 74 72 75 63 74 20 ass="tok-str">&quot;pass.struct.
6c9c0 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e to.function&quot;</span>.{</span
6c9e0 3e 0a 3c 73 70 61 6e 20 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
6ca00 6c 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(
6ca20 66 6f 6f 28 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b foo(Point{..x.=.<span.class="tok
6ca40 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c -number">1</span>,..y.=.<span.cl
6ca60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 29 20 3d 3d 20 ass="tok-number">2</span>.}).==.
6ca80 3c 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
6caa0 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">}<
6cac0 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
6cae0 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
6cb00 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><
6cb20 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
6cb40 74 20 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 67 t.pass_by_reference_or_value.zig
6cb60 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"
6cb80 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 61 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 >1/1.test.&quot;pass.struct.to.f
6cba0 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 73 70 61 6e unction&quot;....OK</span>.<span
6cbc0 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
6cbe0 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>.
6cc00 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 74 65 72 6e 20 66 75 6e 63 74 ......<p>.......For.extern.funct
6cc20 69 6f 6e 73 2c 20 5a 69 67 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 ions,.Zig.follows.the.C.ABI.for.
6cc40 70 61 73 73 69 6e 67 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 20 62 79 20 76 61 passing.structs.and.unions.by.va
6cc60 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 lue........</p>..............<h3
6cc80 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 .id="Function-Parameter-Type-Inf
6cca0 65 72 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 erence"><a.href="nav.xhtml#toc-F
6ccc0 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
6cce0 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 65 ">Function.Parameter.Type.Infere
6cd00 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 75 nce</a>.<a.class="hdr".href="#Fu
6cd20 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 22 nction-Parameter-Type-Inference"
6cd40 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 75 >..</a></h3>........<p>.......Fu
6cd60 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 65 nction.parameters.can.be.declare
6cd80 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 3e d.with.<code><span.class="line">
6cda0 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
6cdc0 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 68 an></span></code>.in.place.of.th
6cde0 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 70 e.type........In.this.case.the.p
6ce00 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 20 arameter.types.will.be.inferred.
6ce20 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 20 when.the.function.is.called.....
6ce40 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 66 ...Use.<a.href="#TypeOf">@TypeOf
6ce60 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 79 </a>.and.<a.href="#typeInfo">@ty
6ce80 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 62 peInfo</a>.to.get.information.ab
6cea0 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 70 out.the.inferred.type........</p
6cec0 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
6cee0 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
6cf00 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 3e est_fn_type_inference.zig</cite>
6cf20 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
6cf40 61 73 73 3d 22 6c 69 6e 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">
6cf60 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 73 const</span>.expect.=.<span.clas
6cf80 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>(<
6cfa0 73 70 61 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
6cfc0 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 70 uot;</span>).testing.expect;</sp
6cfe0 61 6e 3e 0a 3c 73 70 61 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>.<
6d000 73 70 61 6e 20 63 6c 61 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
6d020 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
6d040 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 61 k-fn">addFortyTwo</span>(x:.<spa
6d060 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-kw">anytype</span>)
6d080 20 3c 73 70 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
6d0a0 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 73 Of</span>(x).{</span>.<span.clas
6d0c0 73 3d 22 6c 69 6e 65 22 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
6d0e0 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 3d ">return</span>.x.+.<span.class=
6d100 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 3c "tok-number">42</span>;</span>.<
6d120 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
6d140 20 63 6c 61 73 73 3d 22 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
6d160 73 3d 22 6c 69 6e 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
6d180 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">
6d1a0 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 73 &quot;fn.type.inference&quot;</s
6d1c0 70 61 6e 3e 20 7b 3c 2f 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"
6d1e0 3e 20 20 20 20 3c 73 70 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
6d200 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 6c pan>.expect(addFortyTwo(<span.cl
6d220 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 73 ass="tok-number">1</span>).==.<s
6d240 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 3e pan.class="tok-number">43</span>
6d260 29 3b 3c 2f 73 70 61 6e 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">...
6d280 20 3c 73 70 61 6e 20 63 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>
6d2a0 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e .expect(<span.class="tok-builtin
6d2c0 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 70 ">@TypeOf</span>(addFortyTwo(<sp
6d2e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 an.class="tok-number">1</span>))
6d300 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 74 .==.<span.class="tok-type">compt
6d320 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 6c ime_int</span>);</span>.<span.cl
6d340 61 73 73 3d 22 6c 69 6e 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-
6d360 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
6d380 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 73 ok-type">i64</span>.=.<span.clas
6d3a0 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 0a s="tok-number">2</span>;</span>.
6d3c0 3c 73 70 61 6e 20 63 6c 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
6d3e0 73 73 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 64 ss="tok-kw">try</span>.expect(ad
6d400 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 6b dFortyTwo(y).==.<span.class="tok
6d420 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 61 -number">44</span>);</span>.<spa
6d440 6e 20 63 6c 61 73 73 3d 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="
6d460 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.
6d480 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
6d4a0 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 73 n>(addFortyTwo(y)).==.<span.clas
6d4c0 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 3e s="tok-type">i64</span>);</span>
6d4e0 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
6d500 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
6d520 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
6d540 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
6d560 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 5f ="line">$.<kbd>zig.test.test_fn_
6d580 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 0a type_inference.zig</kbd></span>.
6d5a0 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
6d5c0 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 3c t;fn.type.inference&quot;....OK<
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 41 6c 6c 20 31 20 /span>.<span.class="line">All.1.
6d600 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
6d620 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 64 e></figure>...............<h3.id
6d640 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 22 ="Function-Reflection"><a.href="
6d660 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f nav.xhtml#toc-Function-Reflectio
6d680 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c n">Function.Reflection</a>.<a.cl
6d6a0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 ass="hdr".href="#Function-Reflec
6d6c0 74 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 66 69 67 75 72 65 tion">..</a></h3>........<figure
6d6e0 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
6d700 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 te.class="file">test_fn_reflecti
6d720 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c on.zig</cite></figcaption><pre><
6d740 63 6f 64 65 3e 3c 73 70 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
6d760 61 73 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
6d780 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
6d7a0 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
6d7c0 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
6d7e0 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
6d800 6e 65 22 3e 3c 2f 73 70 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"><
6d820 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>.
6d840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6e 20 72 <span.class="tok-str">&quot;fn.r
6d860 65 66 6c 65 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a eflection&quot;</span>.{</span>.
6d880 3c 73 70 61 6e 20 63 6c 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
6d8a0 73 73 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
6d8c0 70 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
6d8e0 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 o</span>(<span.class="tok-builti
6d900 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 61 72 n">@TypeOf</span>(expect)).Fn.ar
6d920 67 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 gs[<span.class="tok-number">0</s
6d940 70 61 6e 3e 5d 2e 61 72 67 5f 74 79 70 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>].arg_type.?.==.<span.class=
6d960 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>.
6d980 3c 73 70 61 6e 20 63 6c 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
6d9a0 73 73 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
6d9c0 70 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
6d9e0 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 o</span>(<span.class="tok-builti
6da00 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 69 73 n">@TypeOf</span>(expect)).Fn.is
6da20 5f 76 61 72 5f 61 72 67 73 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 _var_args.==.<span.class="tok-nu
6da40 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.
6da60 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
6da80 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
6daa0 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
6dac0 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"
6dae0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 >$.<kbd>zig.test.test_fn_reflect
6db00 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 61 73 73 ion.zig</kbd></span>.<span.class
6db20 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6e 20 72 65 66 6c 65 63 ="line">1/1.test.&quot;fn.reflec
6db40 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 73 70 61 6e 20 63 6c tion&quot;....OK</span>.<span.cl
6db60 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.</
6db80 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>....
6dba0 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 72 72 6f 72 73 22 .................<h2.id="Errors"
6dbc0 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 72 72 6f 72 73 22 3e ><a.href="nav.xhtml#toc-Errors">
6dbe0 45 72 72 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 Errors</a>.<a.class="hdr".href="
6dc00 23 45 72 72 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 #Errors">..</a></h2>........<h3.
6dc20 69 64 3d 22 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 id="Error-Set-Type"><a.href="nav
6dc40 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 .xhtml#toc-Error-Set-Type">Error
6dc60 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 72 22 20 68 72 65 .Set.Type</a>.<a.class="hdr".hre
6dc80 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 3c 2f 68 33 3e 0a f="#Error-Set-Type">..</a></h3>.
6dca0 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 73 65 74 20 69 73 .......<p>.......An.error.set.is
6dcc0 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 6e 75 6d 3c 2f 61 .like.an.<a.href="#enum">enum</a
6dce0 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 6f 72 20 6e 61 6d >........However,.each.error.nam
6dd00 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 61 74 69 6f 6e 20 e.across.the.entire.compilation.
6dd20 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 69 6e 74 65 67 65 gets.assigned.an.unsigned.intege
6dd40 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 75 20 61 72 65 20 r.......greater.than.0..You.are.
6dd60 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 65 20 65 72 72 6f allowed.to.declare.the.same.erro
6dd80 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 20 69 66 20 79 6f r.name.more.than.once,.and.if.yo
6dda0 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 65 64 20 74 68 65 u.do,.it.......gets.assigned.the
6ddc0 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 20 3c 2f 70 3e 0a .same.integer.value........</p>.
6dde0 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 20 6f 66 20 75 6e ......<p>.......The.number.of.un
6de00 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 68 65 20 65 6e 74 ique.error.values.across.the.ent
6de20 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 65 72 6d 69 6e 65 ire.compilation.should.determine
6de40 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 20 74 79 70 65 2e .the.size.of.the.error.set.type.
6de60 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 74 20 69 73 20 68 .......However.right.now.it.is.h
6de80 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 70 61 6e 20 63 6c ard.coded.to.be.a.<code><span.cl
6dea0 61 73 73 3d 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
6dec0 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 2e 20 53 65 65 20 ">u16</span></span></code>..See.
6dee0 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
6df00 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 61 3e 2e 0a 20 20 ang/zig/issues/786">#768</a>....
6df20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e ....</p>.......<p>.......You.can
6df40 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 .<a.href="#Type-Coercion">coerce
6df60 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 74 20 74 6f 20 61 </a>.an.error.from.a.subset.to.a
6df80 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 20 20 3c 66 69 67 .superset:.......</p>.......<fig
6dfa0 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">
6dfc0 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 67 5f 73 75 62 73 <cite.class="file">coercing_subs
6dfe0 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 et_to_superset.zig</cite></figca
6e000 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
6e020 6e 65 22 3e 3c 73 70 61 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</
6e040 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
6e060 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
6e080 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
6e0a0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
6e0c0 73 70 61 6e 3e 0a 3c 73 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
6e0e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f lass="tok-kw">const</span>.FileO
6e100 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e penError.=.<span.class="tok-kw">
6e120 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 error</span>.{</span>.<span.clas
6e140 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 3c 2f 73 70 61 6e s="line">....AccessDenied,</span
6e160 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 >.<span.class="line">....OutOfMe
6e180 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e mory,</span>.<span.class="line">
6e1a0 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ....FileNotFound,</span>.<span.c
6e1c0 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
6e1e0 73 3d 22 6c 69 6e 65 22 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
6e200 6e 65 22 3e 3c 73 70 61 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</
6e220 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c span>.AllocationError.=.<span.cl
6e240 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ass="tok-kw">error</span>.{</spa
6e260 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d n>.<span.class="line">....OutOfM
6e280 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 emory,</span>.<span.class="line"
6e2a0 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"></
6e2c0 73 70 61 6e 3e 0a 3c 73 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
6e2e0 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.
6e300 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 62 class="tok-str">&quot;coerce.sub
6e320 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f set.to.superset&quot;</span>.{</
6e340 73 70 61 6e 3e 0a 3c 73 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
6e360 61 6e 20 63 6c 61 73 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
6e380 72 72 20 3d 20 66 6f 6f 28 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 rr.=.foo(AllocationError.OutOfMe
6e3a0 6d 6f 72 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 mory);</span>.<span.class="line"
6e3c0 3e 20 20 20 20 3c 73 70 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
6e3e0 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 46 pan>.std.testing.expect(err.==.F
6e400 69 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 3b 3c 2f 73 70 61 6e ileOpenError.OutOfMemory);</span
6e420 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
6e440 70 61 6e 20 63 6c 61 73 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
6e460 6c 61 73 73 3d 22 6c 69 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"
6e480 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">
6e4a0 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 29 foo</span>(err:.AllocationError)
6e4c0 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .FileOpenError.{</span>.<span.cl
6e4e0 61 73 73 3d 22 6c 69 6e 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-
6e500 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 kw">return</span>.err;</span>.<s
6e520 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>
6e540 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
6e560 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
6e580 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
6e5a0 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 69 6e 67 5f 73 75 ine">$.<kbd>zig.test.coercing_su
6e5c0 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 3c 2f 73 70 61 6e bset_to_superset.zig</kbd></span
6e5e0 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
6e600 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 73 65 74 26 71 75 uot;coerce.subset.to.superset&qu
6e620 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
6e640 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>.<
6e660 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>.
6e680 20 20 20 20 20 20 42 75 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 3c 61 20 68 72 65 66 3d 22 23 54 ......But.you.cannot.<a.href="#T
6e6a0 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 20 65 72 72 6f ype-Coercion">coerce</a>.an.erro
6e6c0 72 20 66 72 6f 6d 20 61 20 73 75 70 65 72 73 65 74 20 74 6f 20 61 20 73 75 62 73 65 74 3a 0a 20 r.from.a.superset.to.a.subset:..
6e6e0 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
6e700 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=
6e720 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
6e740 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"
6e760 3e 3c 73 70 61 6e 20 63 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
6e780 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 6c 61 73 73 3d 22 n>.FileOpenError.=.<span.class="
6e7a0 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-kw">error</span>.{</span>.<s
6e7c0 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 73 44 65 6e 69 65 pan.class="line">....AccessDenie
6e7e0 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 d,</span>.<span.class="line">...
6e800 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .OutOfMemory,</span>.<span.class
6e820 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 2f 73 70 61 6e 3e ="line">....FileNotFound,</span>
6e840 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
6e860 70 61 6e 20 63 6c 61 73 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
6e880 6c 61 73 73 3d 22 6c 69 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"
6e8a0 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 72 6f 72 20 3d 20 >const</span>.AllocationError.=.
6e8c0 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
6e8e0 3e 20 7b 3c 2f 73 70 61 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">..
6e900 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 61 73 ..OutOfMemory,</span>.<span.clas
6e920 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="
6e940 6c 69 6e 65 22 3e 3c 2f 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"
6e960 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
6e980 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f >.<span.class="tok-str">&quot;co
6e9a0 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 6f 74 3b 3c 2f 73 erce.superset.to.subset&quot;</s
6e9c0 70 61 6e 3e 20 7b 3c 2f 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"
6e9e0 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 4f 66 4d 65 6d 6f >....foo(FileOpenError.OutOfMemo
6ea00 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 61 74 63 68 3c 2f ry).<span.class="tok-kw">catch</
6ea20 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 span>.{};</span>.<span.class="li
6ea40 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">
6ea60 3c 2f 73 70 61 6e 3e 0a 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
6ea80 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.
6eaa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 46 class="tok-fn">foo</span>(err:.F
6eac0 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 7b 3c ileOpenError).AllocationError.{<
6eae0 2f 73 70 61 6e 3e 0a 3c 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
6eb00 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>
6eb20 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 3e .err;</span>.<span.class="line">
6eb40 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
6eb60 69 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
6eb80 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
6eba0 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
6ebc0 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.
6ebe0 63 6c 61 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">
6ec00 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 32 3a 20 3c 2f 73 ./docgen_tmp/test.zig:16:12:.</s
6ec20 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:.<
6ec40 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
6ec60 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 66 6f 75 6e 64 20 d.type.'AllocationError',.found.
6ec80 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 61 6e 3e 0a 3c 73 'FileOpenError'</span></span>.<s
6eca0 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 65 72 72 3b pan.class="line">....return.err;
6ecc0 3c 2f 73 70 61 6e 3e 0a 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">.....
6ece0 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
6ed00 6e 3e 3c 2f 73 70 61 6e 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
6ed20 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
6ed40 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 61 73 73 3d 22 74 t.zig:2:5:.</span><span.class="t
6ed60 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="
6ed80 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 20 6e 6f 74 20 61 t0_1">'error.AccessDenied'.not.a
6eda0 20 6d 65 6d 62 65 72 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 .member.of.destination.error.set
6edc0 3c 2f 73 70 61 6e 3e 3c 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
6ede0 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 0a 3c 73 70 61 6e ">....AccessDenied,</span>.<span
6ee00 20 63 6c 61 73 73 3d 22 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
6ee20 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
6ee40 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
6ee60 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 70 61 6e 3e 3c 73 cgen_tmp/test.zig:4:5:.</span><s
6ee80 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><
6eea0 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 69 6c 65 4e 6f 74 span.class="t0_1">'error.FileNot
6eec0 46 6f 75 6e 64 27 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 64 65 73 74 69 6e 61 74 69 Found'.not.a.member.of.destinati
6eee0 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 0a 3c 73 70 61 6e on.error.set</span></span>.<span
6ef00 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,<
6ef20 2f 73 70 61 6e 3e 0a 3c 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
6ef40 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
6ef60 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>.......<
6ef80 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 75 74 20 66 6f 72 p>.......There.is.a.shortcut.for
6efa0 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 74 68 20 6f 6e 6c .declaring.an.error.set.with.onl
6efc0 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 67 20 74 68 61 74 y.1.value,.and.then.getting.that
6efe0 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 66 69 67 75 72 65 .value:.......</p>.......<figure
6f000 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
6f020 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><
6f040 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
6f060 73 73 3d 22 6c 69 6e 65 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
6f080 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.err.=.<span.class="t
6f0a0 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 74 46 6f 75 6e 64 ok-kw">error</span>.FileNotFound
6f0c0 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 ;</span></code></pre></figure>..
6f0e0 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 20 74 6f 3a 3c 2f .....<p>This.is.equivalent.to:</
6f100 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
6f120 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">
6f140 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 65 test.zig</cite></figcaption><pre
6f160 3e 3c 63 6f 64 65 3e 3c 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.
6f180 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 class="tok-kw">const</span>.err.
6f1a0 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 72 6f 72 3c 2f 73 =.(<span.class="tok-kw">error</s
6f1c0 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 6f 74 46 6f 75 6e pan>.{FileNotFound}).FileNotFoun
6f1e0 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 75 72 65 3e 0a d;</span></code></pre></figure>.
6f200 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 65 63 6f 6d 65 73 20 75 73 65 ......<p>.......This.becomes.use
6f220 66 75 6c 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 ful.when.using.<a.href="#Inferre
6f240 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 d-Error-Sets">Inferred.Error.Set
6f260 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 s</a>........</p>.......<h4.id="
6f280 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e The-Global-Error-Set"><a.href="n
6f2a0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 av.xhtml#toc-The-Global-Error-Se
6f2c0 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 20 3c 61 20 63 t">The.Global.Error.Set</a>.<a.c
6f2e0 6c 61 73 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 lass="hdr".href="#The-Global-Err
6f300 6f 72 2d 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 or-Set">..</a></h4>........<p><c
6f320 6f 64 65 3e 3c 73 70 61 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
6f340 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 3c 2f 73 ss="tok-type">anyerror</span></s
6f360 70 61 6e 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 pan></code>.refers.to.the.global
6f380 20 65 72 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 .error.set........This.is.the.er
6f3a0 72 6f 72 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 ror.set.that.contains.all.errors
6f3c0 20 69 6e 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 .in.the.entire.compilation.unit.
6f3e0 0a 20 20 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 .......It.is.a.superset.of.all.o
6f400 74 68 65 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 ther.error.sets.and.a.subset.of.
6f420 6e 6f 6e 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 none.of.them........</p>.......<
6f440 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d p>.......You.can.<a.href="#Type-
6f460 43 6f 65 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 Coercion">coerce</a>.any.error.s
6f480 65 74 20 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 et.to.the.global.one,.and.you.ca
6f4a0 6e 20 65 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 n.explicitly.......cast.an.error
6f4c0 20 6f 66 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 .of.the.global.error.set.to.a.no
6f4e0 6e 2d 67 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 n-global.one..This.inserts.a.lan
6f500 67 75 61 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 guage-level.......assert.to.make
6f520 20 73 75 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 .sure.the.error.value.is.in.fact
6f540 20 69 6e 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 .in.the.destination.error.set...
6f560 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 67 6c .....</p>.......<p>.......The.gl
6f580 6f 62 61 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 obal.error.set.should.generally.
6f5a0 62 65 20 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 be.avoided.because.it.prevents.t
6f5c0 68 65 0a 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 he.......compiler.from.knowing.w
6f5e0 68 61 74 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 hat.errors.are.possible.at.compi
6f600 6c 65 2d 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 le-time..Knowing.......the.error
6f620 20 73 65 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 .set.at.compile-time.is.better.f
6f640 6f 72 20 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 or.generated.documentation.and..
6f660 20 20 20 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 .....helpful.error.messages,.suc
6f680 68 20 61 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 h.as.forgetting.a.possible.error
6f6a0 20 76 61 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 .value.in.a.<a.href="#switch">sw
6f6c0 69 74 63 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 itch</a>........</p>............
6f6e0 20 20 0a 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 .........<h3.id="Error-Union-Typ
6f700 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 72 72 6f 72 2d e"><a.href="nav.xhtml#toc-Error-
6f720 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e Union-Type">Error.Union.Type</a>
6f740 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 .<a.class="hdr".href="#Error-Uni
6f760 6f 6e 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a on-Type">..</a></h3>........<p>.
6f780 20 20 20 20 20 20 41 6e 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 61 6e 64 20 6e 6f 72 6d ......An.error.set.type.and.norm
6f7a0 61 6c 20 74 79 70 65 20 63 61 6e 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 al.type.can.be.combined.with.the
6f7c0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 .<code><span.class="line">!</spa
6f7e0 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 20 n></code>.......binary.operator.
6f800 74 6f 20 66 6f 72 6d 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2e 20 59 6f 75 to.form.an.error.union.type..You
6f820 20 61 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 75 73 65 20 61 6e 0a 20 20 20 20 20 20 65 72 72 6f .are.likely.to.use.an.......erro
6f840 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 6d 6f 72 65 20 6f 66 74 65 6e 20 74 68 61 6e 20 61 6e 20 r.union.type.more.often.than.an.
6f860 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 62 79 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 error.set.type.by.itself........
6f880 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 20 66 </p>.......<p>.......Here.is.a.f
6f8a0 75 6e 63 74 69 6f 6e 20 74 6f 20 70 61 72 73 65 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 unction.to.parse.a.string.into.a
6f8c0 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .64-bit.integer:.......</p>.....
6f8e0 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
6f900 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 6f 72 5f 75 -cap"><cite.class="file">error_u
6f920 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 nion_parsing_u64.zig</cite></fig
6f940 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="
6f960 6c 69 6e 65 22 3e 3c 73 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
6f980 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
6f9a0 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
6f9c0 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
6f9e0 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">
6fa00 3c 73 70 61 6e 20 63 6c 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
6fa20 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 70 61 >.maxInt.=.std.math.maxInt;</spa
6fa40 6e 3e 0a 3c 73 70 61 6e 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
6fa60 70 61 6e 20 63 6c 61 73 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
6fa80 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
6faa0 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
6fac0 2d 66 6e 22 3e 70 61 72 73 65 55 36 34 3c 2f 73 70 61 6e 3e 28 62 75 66 3a 20 5b 5d 3c 73 70 61 -fn">parseU64</span>(buf:.[]<spa
6fae0 6e 20 63 6c 61 73 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
6fb00 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>,.
6fb20 72 61 64 69 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 radix:.<span.class="tok-type">u8
6fb40 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>).!<span.class="tok-type"
6fb60 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 6e 20 63 6c 61 73 73 >u64</span>.{</span>.<span.class
6fb80 3d 22 6c 69 6e 65 22 3e 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"
6fba0 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-
6fbc0 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u64</span>.=.<span.class="
6fbe0 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
6fc00 61 6e 20 63 6c 61 73 73 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
6fc20 61 73 73 3d 22 6c 69 6e 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-
6fc40 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 62 75 66 29 20 7c 63 7c 20 7b 3c 2f 73 70 61 6e kw">for</span>.(buf).|c|.{</span
6fc60 3e 0a 3c 73 70 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
6fc80 61 6e 20 63 6c 61 73 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
6fca0 69 67 69 74 20 3d 20 63 68 61 72 54 6f 44 69 67 69 74 28 63 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 igit.=.charToDigit(c);</span>.<s
6fcc0 70 61 6e 20 63 6c 61 73 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
6fce0 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=
6fd00 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 69 67 69 74 20 26 67 74 3b 3d 20 "tok-kw">if</span>.(digit.&gt;=.
6fd20 72 61 64 69 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 radix).{</span>.<span.class="lin
6fd40 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-
6fd60 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">return</span>.<span.class="t
6fd80 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 3b ok-kw">error</span>.InvalidChar;
6fda0 3c 2f 73 70 61 6e 3e 0a 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">.....
6fdc0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ...}</span>.<span.class="line"><
6fde0 2f 73 70 61 6e 3e 0a 3c 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">......
6fe00 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 78 ..<span.class="tok-comment">//.x
6fe20 20 2a 3d 20 72 61 64 69 78 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .*=.radix</span></span>.<span.cl
6fe40 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="
6fe60 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 61 73 73 3d 22 tok-kw">if</span>.(<span.class="
6fe80 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 tok-builtin">@mulWithOverflow</s
6fea0 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 36 34 3c pan>(<span.class="tok-type">u64<
6fec0 2f 73 70 61 6e 3e 2c 20 78 2c 20 72 61 64 69 78 2c 20 26 61 6d 70 3b 78 29 29 20 7b 3c 2f 73 70 /span>,.x,.radix,.&amp;x)).{</sp
6fee0 61 6e 3e 0a 3c 73 70 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">.........
6ff00 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</
6ff20 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
6ff40 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 70 61 6e 20 63 </span>.Overflow;</span>.<span.c
6ff60 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 70 lass="line">........}</span>.<sp
6ff80 61 6e 20 63 6c 61 73 73 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
6ffa0 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="
6ffc0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 64 69 67 69 74 3c 2f 73 70 61 6e tok-comment">//.x.+=.digit</span
6ffe0 3e 3c 2f 73 70 61 6e 3e 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">....
70000 20 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
70020 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 3e 40 61 n>.(<span.class="tok-builtin">@a
70040 64 64 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 6c 61 73 ddWithOverflow</span>(<span.clas
70060 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 64 69 67 69 s="tok-type">u64</span>,.x,.digi
70080 74 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 61 73 73 t,.&amp;x)).{</span>.<span.class
700a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">............<span.class=
700c0 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">return</span>.<span.cla
700e0 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 6c 6f ss="tok-kw">error</span>.Overflo
70100 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 20 20 20 w;</span>.<span.class="line">...
70120 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .....}</span>.<span.class="line"
70140 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"
70160 3e 3c 2f 73 70 61 6e 3e 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">....
70180 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
701a0 6e 3e 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>.x;</span>.<span.class="line">
701c0 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
701e0 61 6e 3e 0a 3c 73 70 61 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
70200 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
70220 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 68 61 72 54 6f 44 69 67 69 74 3c 2f 73 70 61 6e 3e 28 63 3a s="tok-fn">charToDigit</span>(c:
70240 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
70260 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 >).<span.class="tok-type">u8</sp
70280 61 6e 3e 20 7b 3c 2f 73 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">
702a0 20 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<
702c0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 /span>.<span.class="tok-kw">swit
702e0 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 63 6c 61 ch</span>.(c).{</span>.<span.cla
70300 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
70320 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 ok-str">'0'</span>.....<span.cla
70340 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 39 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 ss="tok-str">'9'</span>.=&gt;.c.
70360 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 30 27 3c 2f 73 70 61 -.<span.class="tok-str">'0'</spa
70380 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
703a0 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 41 27 3c ......<span.class="tok-str">'A'<
703c0 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"
703e0 3e 27 5a 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 >'Z'</span>.=&gt;.c.-.<span.clas
70400 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 41 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 s="tok-str">'A'</span>.+.<span.c
70420 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
70440 61 6e 3e 0a 3c 73 70 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">........<
70460 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 20 span.class="tok-str">'a'</span>.
70480 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f 73 ....<span.class="tok-str">'z'</s
704a0 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.=&gt;.c.-.<span.class="tok-
704c0 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 str">'a'</span>.+.<span.class="t
704e0 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 61 6e 3e 0a 3c 73 70 ok-number">10</span>,</span>.<sp
70500 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
70520 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 6d ass="tok-kw">else</span>.=&gt;.m
70540 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c axInt(<span.class="tok-type">u8<
70560 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>),</span>.<span.class="lin
70580 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
705a0 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">
705c0 3c 2f 73 70 61 6e 3e 0a 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
705e0 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
70600 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 72 73 65 20 75 36 n.class="tok-str">&quot;parse.u6
70620 34 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 4&quot;</span>.{</span>.<span.cl
70640 61 73 73 3d 22 6c 69 6e 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-
70660 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 kw">const</span>.result.=.<span.
70680 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 class="tok-kw">try</span>.parseU
706a0 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 64(<span.class="tok-str">&quot;1
706c0 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 234&quot;</span>,.<span.class="t
706e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">10</span>);</span>.<s
70700 70 61 6e 20 63 6c 61 73 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
70720 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 ="tok-kw">try</span>.std.testing
70740 2e 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .expect(result.==.<span.class="t
70760 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ok-number">1234</span>);</span>.
70780 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
707a0 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
707c0 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
707e0 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=
70800 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 65 72 72 6f 72 5f 75 6e 69 "line">$.<kbd>zig.test.error_uni
70820 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a on_parsing_u64.zig</kbd></span>.
70840 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
70860 74 3b 70 61 72 73 65 20 75 36 34 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c t;parse.u64&quot;....OK</span>.<
70880 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 61 span.class="line">All.1.tests.pa
708a0 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
708c0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 69 63 65 20 74 68 65 20 72 re>.......<p>.......Notice.the.r
708e0 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d eturn.type.is.<code><span.class=
70900 22 6c 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 75 "line">!<span.class="tok-type">u
70920 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 6d 65 64</span></span></code>..This.me
70940 61 6e 73 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 65 69 74 68 ans.that.the.function.......eith
70960 65 72 20 72 65 74 75 72 6e 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 36 34 20 62 69 74 20 69 6e er.returns.an.unsigned.64.bit.in
70980 74 65 67 65 72 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 2e 20 57 65 20 6c 65 66 74 20 6f 66 66 20 teger,.or.an.error..We.left.off.
709a0 74 68 65 20 65 72 72 6f 72 20 73 65 74 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 6c 65 66 74 20 the.error.set.......to.the.left.
709c0 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">
709e0 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 73 6f 20 74 68 65 20 65 72 72 6f 72 20 73 65 !</span></code>,.so.the.error.se
70a00 74 20 69 73 20 69 6e 66 65 72 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 t.is.inferred........</p>.......
70a20 3c 70 3e 0a 20 20 20 20 20 20 57 69 74 68 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 <p>.......Within.the.function.de
70a40 66 69 6e 69 74 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 73 65 65 20 73 6f 6d 65 20 72 65 74 75 72 finition,.you.can.see.some.retur
70a60 6e 20 73 74 61 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 61 n.statements.that.return.......a
70a80 6e 20 65 72 72 6f 72 2c 20 61 6e 64 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 61 20 72 65 74 n.error,.and.at.the.bottom.a.ret
70aa0 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 3c 63 6f urn.statement.that.returns.a.<co
70ac0 64 65 3e 3c 73 70 61 6e 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
70ae0 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 2f s="tok-type">u64</span></span></
70b00 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 42 6f 74 68 20 74 79 70 65 73 20 3c 61 20 68 code>............Both.types.<a.h
70b20 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 3c 2f 61 3e 20 ref="#Type-Coercion">coerce</a>.
70b40 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 61 to.<code><span.class="line"><spa
70b60 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
70b80 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 36 34 3c 2f 73 n>!<span.class="tok-type">u64</s
70ba0 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 0a 20 pan></span></code>........</p>..
70bc0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b .....<p>.......What.it.looks.lik
70be0 65 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 76 61 72 69 65 73 20 64 65 e.to.use.this.function.varies.de
70c00 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 61 74 20 79 6f 75 27 72 65 0a 20 20 20 20 20 20 74 72 79 pending.on.what.you're.......try
70c20 69 6e 67 20 74 6f 20 64 6f 2e 20 4f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a ing.to.do..One.of.the.following:
70c40 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c .......</p>.......<ul>.........<
70c60 6c 69 3e 59 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 li>You.want.to.provide.a.default
70c80 20 76 61 6c 75 65 20 69 66 20 69 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 2e 3c .value.if.it.returned.an.error.<
70ca0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 69 74 20 72 65 74 75 72 6e 65 64 20 /li>.........<li>If.it.returned.
70cc0 61 6e 20 65 72 72 6f 72 20 74 68 65 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 75 72 6e an.error.then.you.want.to.return
70ce0 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c .the.same.error.</li>.........<l
70d00 69 3e 59 6f 75 20 6b 6e 6f 77 20 77 69 74 68 20 63 6f 6d 70 6c 65 74 65 20 63 65 72 74 61 69 6e i>You.know.with.complete.certain
70d20 74 79 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 ty.it.will.not.return.an.error,.
70d40 73 6f 20 77 61 6e 74 20 74 6f 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 75 6e 77 72 61 so.want.to.unconditionally.unwra
70d60 70 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 20 p.it.</li>.........<li>You.want.
70d80 74 6f 20 74 61 6b 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65 to.take.a.different.action.for.e
70da0 61 63 68 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c ach.possible.error.</li>.......<
70dc0 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 61 74 63 68 22 3e 3c 61 20 68 72 65 /ul>.......<h4.id="catch"><a.hre
70de0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 f="nav.xhtml#toc-catch">catch</a
70e00 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 74 63 68 22 3e c2 >.<a.class="hdr".href="#catch">.
70e20 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 79 6f 75 20 77 61 6e 74 .</a></h4>........<p>If.you.want
70e40 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2c 20 79 6f 75 .to.provide.a.default.value,.you
70e60 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .can.use.the.<code><span.class="
70e80 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 line"><span.class="tok-kw">catch
70ea0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 </span></span></code>.binary.ope
70ec0 72 61 74 6f 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 rator:</p>.......<figure><figcap
70ee0 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
70f00 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 74 ="file">test.zig</cite></figcapt
70f20 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
70f40 22 3e 3c 73 70 61 6e 20 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
70f60 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.parseU64.=.<span.class="tok-
70f80 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
70fa0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f ass="tok-str">&quot;error_union_
70fc0 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 parsing_u64.zig&quot;</span>).pa
70fe0 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 rseU64;</span>.<span.class="line
71000 22 3e 3c 2f 73 70 61 6e 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
71020 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
71040 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e n.class="tok-fn">doAThing</span>
71060 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 (str:.[]<span.class="tok-type">u
71080 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 8</span>).<span.class="tok-type"
710a0 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
710c0 73 3d 22 6c 69 6e 65 22 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
710e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 ">const</span>.number.=.parseU64
71100 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 (str,.<span.class="tok-number">1
71120 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 0</span>).<span.class="tok-kw">c
71140 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d atch</span>.<span.class="tok-num
71160 62 65 72 22 3e 31 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 ber">13</span>;</span>.<span.cla
71180 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 ss="line">...._.=.number;.<span.
711a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e class="tok-comment">//....</span
711c0 3e 3c 2f 73 70 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
711e0 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>......
71200 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 6f 64 65 2c 20 3c 63 6f 64 65 3e 3c .<p>.......In.this.code,.<code><
71220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c span.class="line">number</span><
71240 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 62 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 73 75 63 63 /code>.will.be.equal.to.the.succ
71260 65 73 73 66 75 6c 6c 79 20 70 61 72 73 65 64 20 73 74 72 69 6e 67 2c 20 6f 72 0a 20 20 20 20 20 essfully.parsed.string,.or......
71280 20 20 20 20 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 31 33 2e 20 54 68 65 20 .....a.default.value.of.13..The.
712a0 74 79 70 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 20 68 61 6e 64 20 73 69 64 65 20 6f 66 20 74 type.of.the.right.hand.side.of.t
712c0 68 65 20 62 69 6e 61 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e he.binary.<code><span.class="lin
712e0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 e"><span.class="tok-kw">catch</s
71300 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 6d 75 73 74 pan></span></code>.operator.must
71320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 20 74 68 65 20 75 6e 77 72 61 70 70 ...............match.the.unwrapp
71340 65 64 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2c 20 6f 72 20 62 65 20 6f 66 20 74 79 ed.error.union.type,.or.be.of.ty
71360 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 73 70 61 pe.<code><span.class="line"><spa
71380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 n.class="tok-type">noreturn</spa
713a0 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 20 n></span></code>........</p>....
713c0 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 74 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 ..........<h4.id="try"><a.href="
713e0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 3c 61 20 63 6c nav.xhtml#toc-try">try</a>.<a.cl
71400 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 68 34 ass="hdr".href="#try">..</a></h4
71420 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 65 64 >........<p>Let's.say.you.wanted
71440 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 74 20 .to.return.the.error.if.you.got.
71460 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 68 65 one,.otherwise.continue.with.the
71480 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 20 20 .......function.logic:</p>......
714a0 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-
714c0 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
714e0 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><
71500 73 70 61 6e 20 63 6c 61 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
71520 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 20 3c ok-kw">const</span>.parseU64.=.<
71540 73 70 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
71560 3c 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
71580 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 67 26 uot;error_union_parsing_u64.zig&
715a0 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 0a 3c quot;</span>).parseU64;</span>.<
715c0 73 70 61 6e 20 63 6c 61 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.
715e0 63 6c 61 73 73 3d 22 6c 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
71600 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"
71620 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 63 6c >doAThing</span>(str:.[]<span.cl
71640 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 61 6e ass="tok-type">u8</span>).!<span
71660 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>.{<
71680 2f 73 70 61 6e 3e 0a 3c 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
716a0 70 61 6e 20 63 6c 61 73 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>.
716c0 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 6c 61 number.=.parseU64(str,.<span.cla
716e0 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 61 6e ss="tok-number">10</span>).<span
71700 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 65 72 .class="tok-kw">catch</span>.|er
71720 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 3c 2f r|.<span.class="tok-kw">return</
71740 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 6c span>.err;</span>.<span.class="l
71760 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 73 73 ine">...._.=.number;.<span.class
71780 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 73 70 ="tok-comment">//....</span></sp
717a0 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><
717c0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a /code></pre></figure>.......<p>.
717e0 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 74 68 ......There.is.a.shortcut.for.th
71800 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 65 22 is..The.<code><span.class="line"
71820 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">try</span>
71840 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 20 20 </span></code>.expression:......
71860 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.
71880 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
718a0 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><
718c0 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
718e0 61 6e 20 63 6c 61 73 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
71900 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 6c 74 arseU64.=.<span.class="tok-built
71920 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="
71940 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 73 69 tok-str">&quot;error_union_parsi
71960 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 55 36 ng_u64.zig&quot;</span>).parseU6
71980 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 73 4;</span>.<span.class="line"></s
719a0 70 61 6e 3e 0a 3c 73 70 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
719c0 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
719e0 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 72 3a ss="tok-fn">doAThing</span>(str:
71a00 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 .[]<span.class="tok-type">u8</sp
71a20 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
71a40 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
71a60 69 6e 65 22 3e 20 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
71a80 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 73 3d nst</span>.number.=.<span.class=
71aa0 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 74 72 "tok-kw">try</span>.parseU64(str
71ac0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 ,.<span.class="tok-number">10</s
71ae0 70 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"
71b00 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 74 6f >...._.=.number;.<span.class="to
71b20 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 3e 0a k-comment">//....</span></span>.
71b40 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
71b60 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>.....
71b80 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
71ba0 20 63 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 .class="tok-kw">try</span></span
71bc0 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 69 6f ></code>.evaluates.an.error.unio
71be0 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 72 2c n.expression..If.it.is.an.error,
71c00 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 72 65 .it.returns.......from.the.curre
71c20 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 2e nt.function.with.the.same.error.
71c40 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 75 6c .Otherwise,.the.expression.resul
71c60 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 65 2e ts.in.......the.unwrapped.value.
71c80 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 20 20 .......</p>..............<p>....
71ca0 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 65 74 .....Maybe.you.know.with.complet
71cc0 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 20 77 e.certainty.that.an.expression.w
71ce0 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 20 49 ill.never.be.an.error..........I
71d00 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 20 20 n.this.case.you.can.do.this:....
71d20 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 73 3d ...</p>.......<code><span.class=
71d40 22 6c 69 6e 65 22 3e 3c 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
71d60 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 61 6e t</span>.number.=.parseU64(<span
71d80 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 6f 74 .class="tok-str">&quot;1234&quot
71da0 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 62 65 ;</span>,.<span.class="tok-numbe
71dc0 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 2d 6b r">10</span>).<span.class="tok-k
71de0 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 6f 6b w">catch</span>.<span.class="tok
71e00 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c -kw">unreachable</span>;</span><
71e20 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 20 6b /code>.......<p>.......Here.we.k
71e40 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 70 61 now.for.sure.that."1234".will.pa
71e60 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 65 0a rse.successfully..So.we.put.the.
71e80 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"><
71ea0 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<
71ec0 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 74 68 /span></span></code>.value.on.th
71ee0 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 20 63 e.right.hand.side..<code><span.c
71f00 6c 61 73 73 3d 22 6c 69 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"
71f20 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 >unreachable</span></span></code
71f40 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 65 62 >.generates.......a.panic.in.Deb
71f60 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 6e 64 ug.and.ReleaseSafe.modes.and.und
71f80 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 20 6d efined.behavior.in.ReleaseFast.m
71fa0 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 20 74 ode..So,.while.we're.debugging.t
71fc0 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 20 3c he.......application,.if.there.<
71fe0 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 65 72 em>was</em>.a.surprise.error.her
72000 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 0a 20 e,.the.application.would.crash..
72020 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 0a 20 .....appropriately........</p>..
72040 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 79 20 .....<p>.......Finally,.you.may.
72060 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 6e 20 want.to.take.a.different.action.
72080 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 20 77 for.every.situation..For.that,.w
720a0 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 69 66 e.combine.......the.<a.href="#if
720c0 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 3e 73 ">if</a>.and.<a.href="#switch">s
720e0 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 70 3e witch</a>.expression:.......</p>
72100 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
72120 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 61 ="zig-cap"><cite.class="file">ha
72140 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 63 69 ndle_all_error_scenarios.zig</ci
72160 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
72180 20 63 6c 61 73 73 3d 22 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
721a0 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
721c0 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 63 ">doAThing</span>(str:.[]<span.c
721e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e lass="tok-type">u8</span>).<span
72200 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>.{<
72220 2f 73 70 61 6e 3e 0a 3c 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
72240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 pan.class="tok-kw">if</span>.(pa
72260 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 75 6d rseU64(str,.<span.class="tok-num
72280 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 70 61 ber">10</span>)).|number|.{</spa
722a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 64 6f n>.<span.class="line">........do
722c0 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 73 70 SomethingWithNumber(number);</sp
722e0 61 6e 3e 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 an>.<span.class="line">....}.<sp
72300 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 65 an.class="tok-kw">else</span>.|e
72320 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 68 3c rr|.<span.class="tok-kw">switch<
72340 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 61 73 /span>.(err).{</span>.<span.clas
72360 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
72380 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 67 74 k-kw">error</span>.Overflow.=&gt
723a0 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 20 20 ;.{</span>.<span.class="line">..
723c0 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
723e0 6e 74 22 3e 2f 2f 20 68 61 6e 64 6c 65 20 6f 76 65 72 66 6c 6f 77 2e 2e 2e 3c 2f 73 70 61 6e 3e nt">//.handle.overflow...</span>
72400 3c 2f 73 70 61 6e 3e 0a 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">.....
72420 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 3e ...},</span>.<span.class="line">
72440 20 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
72460 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 61 72 ">//.we.promise.that.InvalidChar
72480 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 75 67 .won't.happen.(or.crash.in.debug
724a0 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 3e 0a .mode.if.it.does)</span></span>.
724c0 3c 73 70 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
724e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 .class="tok-kw">error</span>.Inv
72500 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 6b 2d alidChar.=&gt;.<span.class="tok-
72520 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c kw">unreachable</span>,</span>.<
72540 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>.<
72560 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
72580 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 65 ></pre></figure>.......<h4.id="e
725a0 72 72 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d rrdefer"><a.href="nav.xhtml#toc-
725c0 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d errdefer">errdefer</a>.<a.class=
725e0 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 "hdr".href="#errdefer">..</a></h
72600 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 63 6f 4>........<p>.......The.other.co
72620 6d 70 6f 6e 65 6e 74 20 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 69 73 20 64 65 66 mponent.to.error.handling.is.def
72640 65 72 20 73 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e er.statements........In.addition
72660 20 74 6f 20 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 64 .to.an.unconditional.<a.href="#d
72680 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 2c 20 5a 69 67 20 68 61 73 20 3c 63 6f 64 65 3e 3c efer">defer</a>,.Zig.has.<code><
726a0 73 70 61 6e 20 63 6c 61 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
726c0 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">errdefer</span></span></c
726e0 6f 64 65 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 ode>,.......which.evaluates.the.
72700 64 65 66 65 72 72 65 64 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 62 6c 6f 63 6b 20 65 78 69 deferred.expression.on.block.exi
72720 74 20 70 61 74 68 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 t.path.if.and.only.if.......the.
72740 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 function.returned.with.an.error.
72760 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 from.the.block........</p>......
72780 20 3c 70 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 .<p>.......Example:.......</p>..
727a0 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="
727c0 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 64 zig-cap"><cite.class="file">errd
727e0 65 66 65 72 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 efer_example.zig</cite></figcapt
72800 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
72820 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>
72840 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c .<span.class="tok-fn">createFoo<
72860 2f 73 70 61 6e 3e 28 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 /span>(param:.<span.class="tok-t
72880 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ype">i32</span>).!Foo.{</span>.<
728a0 73 70 61 6e 20 63 6c 61 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
728c0 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 6f 6f 20 3d 20 3c 73 s="tok-kw">const</span>.foo.=.<s
728e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 72 pan.class="tok-kw">try</span>.tr
72900 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 yToAllocateFoo();</span>.<span.c
72920 6c 61 73 73 3d 22 6c 69 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
72940 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 77 20 77 65 20 68 61 76 65 20 61 6c 6c 6f 63 61 74 -comment">//.now.we.have.allocat
72960 65 64 20 66 6f 6f 2e 20 77 65 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 69 74 20 69 66 20 74 68 ed.foo..we.need.to.free.it.if.th
72980 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a e.function.fails.</span></span>.
729a0 3c 73 70 61 6e 20 63 6c 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
729c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 77 65 20 77 61 6e 74 20 ss="tok-comment">//.but.we.want.
729e0 74 6f 20 72 65 74 75 72 6e 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 to.return.it.if.the.function.suc
72a00 63 65 65 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 6c 61 73 73 ceeds.</span></span>.<span.class
72a20 3d 22 6c 69 6e 65 22 3e 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"
72a40 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 66 >errdefer</span>.deallocateFoo(f
72a60 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c oo);</span>.<span.class="line"><
72a80 2f 73 70 61 6e 3e 0a 3c 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
72aa0 70 61 6e 20 63 6c 61 73 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>.
72ac0 74 6d 70 5f 62 75 66 20 3d 20 61 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 29 20 3c 73 tmp_buf.=.allocateTmpBuffer().<s
72ae0 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 6e 3e pan.class="tok-kw">orelse</span>
72b00 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
72b20 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f an>.<span.class="tok-kw">error</
72b40 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span>.OutOfMemory;</span>.<span.
72b60 63 6c 61 73 73 3d 22 6c 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
72b80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6d 70 5f 62 75 66 20 69 73 20 74 72 75 6c 79 20 61 k-comment">//.tmp_buf.is.truly.a
72ba0 20 74 65 6d 70 6f 72 61 72 79 20 72 65 73 6f 75 72 63 65 2c 20 61 6e 64 20 77 65 20 66 6f 72 20 .temporary.resource,.and.we.for.
72bc0 73 75 72 65 20 77 61 6e 74 20 74 6f 20 63 6c 65 61 6e 20 69 74 20 75 70 3c 2f 73 70 61 6e 3e 3c sure.want.to.clean.it.up</span><
72be0 2f 73 70 61 6e 3e 0a 3c 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
72c00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 65 66 6f 72 pan.class="tok-comment">//.befor
72c20 65 20 74 68 69 73 20 62 6c 6f 63 6b 20 6c 65 61 76 65 73 20 73 63 6f 70 65 3c 2f 73 70 61 6e 3e e.this.block.leaves.scope</span>
72c40 3c 2f 73 70 61 6e 3e 0a 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">....<
72c60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e span.class="tok-kw">defer</span>
72c80 20 64 65 61 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 74 6d 70 5f 62 75 66 29 3b 3c 2f .deallocateTmpBuffer(tmp_buf);</
72ca0 73 70 61 6e 3e 0a 3c 73 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>
72cc0 0a 3c 73 70 61 6e 20 63 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
72ce0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 ass="tok-kw">if</span>.(param.&g
72d00 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 t;.<span.class="tok-number">1337
72d20 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 </span>).<span.class="tok-kw">re
72d40 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"
72d60 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 3c 2f 73 70 61 >error</span>.InvalidParam;</spa
72d80 6e 3e 0a 3c 73 70 61 6e 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
72da0 70 61 6e 20 63 6c 61 73 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
72dc0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 65 72 65 20 74 68 65 20 65 72 72 64 65 ="tok-comment">//.here.the.errde
72de0 66 65 72 20 77 69 6c 6c 20 6e 6f 74 20 72 75 6e 20 73 69 6e 63 65 20 77 65 27 72 65 20 72 65 74 fer.will.not.run.since.we're.ret
72e00 75 72 6e 69 6e 67 20 73 75 63 63 65 73 73 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e urning.success.from.the.function
72e20 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
72e40 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"
72e60 3e 2f 2f 20 62 75 74 20 74 68 65 20 64 65 66 65 72 20 77 69 6c 6c 20 72 75 6e 21 3c 2f 73 70 61 >//.but.the.defer.will.run!</spa
72e80 6e 3e 3c 2f 73 70 61 6e 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">...
72ea0 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
72ec0 61 6e 3e 20 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e an>.foo;</span>.<span.class="lin
72ee0 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
72f00 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6e 65 61 74 20 74 68 69 6e 67 >.......<p>.......The.neat.thing
72f20 20 61 62 6f 75 74 20 74 68 69 73 20 69 73 20 74 68 61 74 20 79 6f 75 20 67 65 74 20 72 6f 62 75 .about.this.is.that.you.get.robu
72f40 73 74 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 st.error.handling.without.......
72f60 74 68 65 20 76 65 72 62 6f 73 69 74 79 20 61 6e 64 20 63 6f 67 6e 69 74 69 76 65 20 6f 76 65 72 the.verbosity.and.cognitive.over
72f80 68 65 61 64 20 6f 66 20 74 72 79 69 6e 67 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 65 76 65 72 head.of.trying.to.make.sure.ever
72fa0 79 20 65 78 69 74 20 70 61 74 68 0a 20 20 20 20 20 20 69 73 20 63 6f 76 65 72 65 64 2e 20 54 68 y.exit.path.......is.covered..Th
72fc0 65 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 20 69 73 20 61 6c 77 61 79 73 20 64 69 e.deallocation.code.is.always.di
72fe0 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 rectly.following.the.allocation.
73000 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 code........</p>..............<p
73020 3e 0a 20 20 20 20 20 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 >.......A.couple.of.other.tidbit
73040 73 20 61 62 6f 75 74 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 s.about.error.handling:.......</
73060 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 54 68 65 73 65 20 p>.......<ul>.........<li>These.
73080 70 72 69 6d 69 74 69 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 primitives.give.enough.expressiv
730a0 65 6e 65 73 73 20 74 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 eness.that.it's.completely.pract
730c0 69 63 61 6c 0a 20 20 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 ical.............to.have.failing
730e0 20 74 6f 20 63 68 65 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 .to.check.for.an.error.be.a.comp
73100 69 6c 65 20 65 72 72 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 ile.error..If.you.really.want...
73120 20 20 20 20 20 20 20 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 ..........to.ignore.the.error,.y
73140 6f 75 20 63 61 6e 20 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 ou.can.add.<code><span.class="li
73160 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f ne"><span.class="tok-kw">catch</
73180 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 span>.<span.class="tok-kw">unrea
731a0 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a chable</span></span></code>.and.
731c0 20 20 20 20 20 20 20 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 ............get.the.added.benefi
731e0 74 20 6f 66 20 63 72 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 t.of.crashing.in.Debug.and.Relea
73200 73 65 53 61 66 65 20 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 seSafe.modes.if.your.assumption.
73220 77 61 73 20 77 72 6f 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 was.wrong..........</li>........
73240 20 3c 6c 69 3e 0a 20 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 .<li>...........Since.Zig.unders
73260 74 61 6e 64 73 20 65 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 tands.error.types,.it.can.pre-we
73280 69 67 68 74 20 62 72 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 ight.branches.in.favor.of.......
732a0 20 20 20 20 65 72 72 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 ....errors.not.occurring..Just.a
732c0 20 73 6d 61 6c 6c 20 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 .small.optimization.benefit.that
732e0 20 69 73 20 6e 6f 74 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 .is.not.available...........in.o
73300 74 68 65 72 20 6c 61 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 ther.languages..........</li>...
73320 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e ....</ul>.......<p>See.also:</p>
73340 3c 75 6c 3e 0a 3c 6c 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 <ul>.<li><a.href="#defer">defer<
73360 2f 61 3e 3c 2f 6c 69 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 /a></li>.<li><a.href="#if">if</a
73380 3e 3c 2f 6c 69 3e 0a 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 ></li>.<li><a.href="#switch">swi
733a0 74 63 68 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 70 3e 41 6e tch</a></li>.</ul>.........<p>An
733c0 20 65 72 72 6f 72 20 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 .error.union.is.created.with.the
733e0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 .<code><span.class="line">!</spa
73400 6e 3e 3c 2f 63 6f 64 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 n></code>.binary.operator.......
73420 20 59 6f 75 20 63 61 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 .You.can.use.compile-time.reflec
73440 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 tion.to.access.the.child.type.of
73460 20 61 6e 20 65 72 72 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 .an.error.union:</p>.......<figu
73480 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"><
734a0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 cite.class="file">test_error_uni
734c0 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c on.zig</cite></figcaption><pre><
734e0 63 6f 64 65 3e 3c 73 70 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
73500 61 73 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
73520 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
73540 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
73560 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
73580 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
735a0 6e 65 22 3e 3c 2f 73 70 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"><
735c0 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>.
735e0 3c 73 70 61 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 6f <span.class="tok-str">&quot;erro
73600 72 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 0a 3c 73 r.union&quot;</span>.{</span>.<s
73620 70 61 6e 20 63 6c 61 73 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
73640 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 6e 20 ="tok-kw">var</span>.foo:.<span.
73660 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e class="tok-type">anyerror</span>
73680 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 70 61 !<span.class="tok-type">i32</spa
736a0 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 n>.=.<span.class="tok-null">unde
736c0 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 73 fined</span>;</span>.<span.class
736e0 3d 22 6c 69 6e 65 22 3e 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
73700 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"
73720 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e >//.Coerce.from.child.type.of.an
73740 20 65 72 72 6f 72 20 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 .error.union:</span></span>.<spa
73760 6e 20 63 6c 61 73 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 n.class="line">....foo.=.<span.c
73780 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f lass="tok-number">1234</span>;</
737a0 73 70 61 6e 3e 0a 3c 73 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>
737c0 0a 3c 73 70 61 6e 20 63 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
737e0 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
73800 20 61 6e 20 65 72 72 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 .an.error.set:</span></span>.<sp
73820 61 6e 20 63 6c 61 73 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 an.class="line">....foo.=.<span.
73840 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 53 6f 6d 65 class="tok-kw">error</span>.Some
73860 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 Error;</span>.<span.class="line"
73880 3e 3c 2f 73 70 61 6e 3e 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">....
738a0 3c 73 70 61 6e 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 <span.class="tok-comment">//.Use
738c0 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 .compile-time.reflection.to.acce
738e0 73 73 20 74 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 ss.the.payload.type.of.an.error.
73900 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
73920 3d 22 6c 69 6e 65 22 3e 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"
73940 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
73960 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
73980 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
739a0 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
739c0 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 70 61 79 peOf</span>(foo)).ErrorUnion.pay
739e0 6c 6f 61 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 load.==.<span.class="tok-type">i
73a00 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 22 32</span>);</span>.<span.class="
73a20 6c 69 6e 65 22 3e 3c 2f 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"
73a40 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">/
73a60 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
73a80 20 61 63 63 65 73 73 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 .access.the.error.set.type.of.an
73aa0 20 65 72 72 6f 72 20 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 .error.union:</span></span>.<spa
73ac0 6e 20 63 6c 61 73 73 3d 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="
73ae0 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 6c tok-kw">comptime</span>.<span.cl
73b00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c ass="tok-kw">try</span>.expect(<
73b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e span.class="tok-builtin">@typeIn
73b40 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 fo</span>(<span.class="tok-built
73b60 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e in">@TypeOf</span>(foo)).ErrorUn
73b80 69 6f 6e 2e 65 72 72 6f 72 5f 73 65 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ion.error_set.==.<span.class="to
73ba0 6b 2d 74 79 70 65 22 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 k-type">anyerror</span>);</span>
73bc0 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
73be0 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
73c00 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
73c20 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
73c40 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 65 72 72 ="line">$.<kbd>zig.test.test_err
73c60 6f 72 5f 75 6e 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 or_union.zig</kbd></span>.<span.
73c80 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 65 72 72 6f class="line">1/1.test.&quot;erro
73ca0 72 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 r.union&quot;....OK</span>.<span
73cc0 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
73ce0 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>.
73d00 20 20 20 20 20 20 3c 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 ......<h4.id="Merging-Error-Sets
73d20 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4d 65 72 67 69 6e 67 "><a.href="nav.xhtml#toc-Merging
73d40 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c -Error-Sets">Merging.Error.Sets<
73d60 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e /a>.<a.class="hdr".href="#Mergin
73d80 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 g-Error-Sets">..</a></h4>.......
73da0 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .<p>.......Use.the.<code><span.c
73dc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 lass="line">||</span></code>.ope
73de0 72 61 74 6f 72 20 74 6f 20 6d 65 72 67 65 20 74 77 6f 20 65 72 72 6f 72 20 73 65 74 73 20 74 6f rator.to.merge.two.error.sets.to
73e00 67 65 74 68 65 72 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 20 20 20 20 20 20 65 72 72 6f gether..The.resulting.......erro
73e20 72 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 65 72 72 6f 72 73 20 6f 66 20 62 6f 74 r.set.contains.the.errors.of.bot
73e40 68 20 65 72 72 6f 72 20 73 65 74 73 2e 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 6f 6d 20 h.error.sets..Doc.comments.from.
73e60 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 0a 20 20 20 20 20 20 73 69 64 65 20 6f 76 65 72 72 69 64 the.left-hand.......side.overrid
73e80 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 2d 68 61 e.doc.comments.from.the.right-ha
73ea0 6e 64 20 73 69 64 65 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 64 6f nd.side..In.this.example,.the.do
73ec0 63 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e c.......comments.for.<code><span
73ee0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 2e 50 61 74 68 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 .class="line">C.PathNotFound</sp
73f00 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 41 20 64 6f 63 20 63 6f 6d 6d 65 6e an></code>.is.<code>A.doc.commen
73f20 74 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 t</code>........</p>.......<p>..
73f40 20 20 20 20 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 66 .....This.is.especially.useful.f
73f60 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 or.functions.which.return.differ
73f80 65 6e 74 20 65 72 72 6f 72 20 73 65 74 73 20 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f ent.error.sets.depending.......o
73fa0 6e 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 n.<a.href="#comptime">comptime</
73fc0 61 3e 20 62 72 61 6e 63 68 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 5a 69 a>.branches..For.example,.the.Zi
73fe0 67 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 75 73 65 73 0a 20 20 20 20 20 20 3c 63 g.standard.library.uses.......<c
74000 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 6e 75 78 46 69 6c 65 ode><span.class="line">LinuxFile
74020 4f 70 65 6e 45 72 72 6f 72 20 7c 7c 20 57 69 6e 64 6f 77 73 46 69 6c 65 4f 70 65 6e 45 72 72 6f OpenError.||.WindowsFileOpenErro
74040 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 73 65 r</span></code>.for.the.error.se
74060 74 20 6f 66 20 6f 70 65 6e 69 6e 67 0a 20 20 20 20 20 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 20 t.of.opening.......files........
74080 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
740a0 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
740c0 22 3e 74 65 73 74 5f 6d 65 72 67 69 6e 67 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 63 ">test_merging_error_sets.zig</c
740e0 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
74100 6e 20 63 6c 61 73 73 3d 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-
74120 6b 77 22 3e 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 kw">const</span>.A.=.<span.class
74140 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>.<
74160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4e 6f 74 44 69 72 2c 3c 2f 73 span.class="line">....NotDir,</s
74180 70 61 6e 3e 0a 3c 73 70 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>.
741a0 3c 73 70 61 6e 20 63 6c 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
741c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 20 64 6f 63 20 63 6f 6d 6d 65 ss="tok-comment">///.A.doc.comme
741e0 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nt</span></span>.<span.class="li
74200 6e 65 22 3e 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ne">....PathNotFound,</span>.<sp
74220 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.
74240 63 6c 61 73 73 3d 22 6c 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
74260 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.B.=.<span.class="
74280 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 73 70 tok-kw">error</span>{</span>.<sp
742a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c an.class="line">....OutOfMemory,
742c0 3c 2f 73 70 61 6e 3e 0a 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
742e0 6e 3e 0a 3c 73 70 61 6e 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.
74300 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 42 20 64 6f 63 20 63 6f class="tok-comment">///.B.doc.co
74320 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=
74340 22 6c 69 6e 65 22 3e 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a "line">....PathNotFound,</span>.
74360 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
74380 61 6e 20 63 6c 61 73 73 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
743a0 61 73 73 3d 22 6c 69 6e 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">
743c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 20 3d 20 41 20 7c 7c 20 42 3b 3c 2f 73 70 61 6e 3e 0a const</span>.C.=.A.||.B;</span>.
743e0 3c 73 70 61 6e 20 63 6c 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
74400 20 63 6c 61 73 73 3d 22 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
74420 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
74440 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 43 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">foo</span>().C!<span.class="to
74460 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
74480 61 6e 20 63 6c 61 73 73 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=
744a0 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">return</span>.<span.cla
744c0 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 4e 6f 74 44 69 72 3b ss="tok-kw">error</span>.NotDir;
744e0 3c 2f 73 70 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
74500 61 6e 3e 0a 3c 73 70 61 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>.<
74520 73 70 61 6e 20 63 6c 61 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
74540 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="
74560 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 26 tok-str">&quot;merge.error.sets&
74580 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
745a0 73 3d 22 6c 69 6e 65 22 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
745c0 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">if</span>.(foo()).{</span>.<sp
745e0 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
74600 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 ass="tok-builtin">@panic</span>(
74620 3c 73 70 61 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 65 78 <span.class="tok-str">&quot;unex
74640 70 65 63 74 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 73 70 pected&quot;</span>);</span>.<sp
74660 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 an.class="line">....}.<span.clas
74680 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 s="tok-kw">else</span>.|err|.<sp
746a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">switch</span>.
746c0 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 3d 22 6c 69 6e 65 (err).{</span>.<span.class="line
746e0 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 65 ">........<span.class="tok-kw">e
74700 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 20 3d 26 67 74 3b 20 3c 73 rror</span>.OutOfMemory.=&gt;.<s
74720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f pan.class="tok-builtin">@panic</
74740 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
74760 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 t;unexpected&quot;</span>),</spa
74780 6e 3e 0a 3c 73 70 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
747a0 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>.
747c0 50 61 74 68 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 PathNotFound.=&gt;.<span.class="
747e0 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
74800 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 65 78 70 65 63 74 65 .class="tok-str">&quot;unexpecte
74820 64 26 71 75 6f 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 d&quot;</span>),</span>.<span.cl
74840 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="
74860 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4e 6f 74 44 69 72 20 3d 26 67 74 tok-kw">error</span>.NotDir.=&gt
74880 3b 20 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 ;.{},</span>.<span.class="line">
748a0 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">
748c0 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
748e0 69 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
74900 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
74920 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
74940 65 73 74 20 74 65 73 74 5f 6d 65 72 67 69 6e 67 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c est.test_merging_error_sets.zig<
74960 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">
74980 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 26 1/1.test.&quot;merge.error.sets&
749a0 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="
749c0 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>
749e0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 .</samp></pre></figure>.........
74a00 20 20 20 20 20 3c 68 34 20 69 64 3d 22 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 .....<h4.id="Inferred-Error-Sets
74a20 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 66 65 72 72 65 "><a.href="nav.xhtml#toc-Inferre
74a40 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 d-Error-Sets">Inferred.Error.Set
74a60 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 66 65 s</a>.<a.class="hdr".href="#Infe
74a80 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 68 34 3e 0a 0a 20 20 rred-Error-Sets">..</a></h4>....
74aa0 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 79 20 66 75 6e 63 74 ....<p>.......Because.many.funct
74ac0 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 69 62 6c 65 20 65 72 ions.in.Zig.return.a.possible.er
74ae0 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 6e 67 20 74 68 65 20 ror,.Zig.supports.inferring.the.
74b00 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 20 74 68 65 20 65 72 error.set........To.infer.the.er
74b20 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 72 65 70 65 6e 64 20 ror.set.for.a.function,.prepend.
74b40 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 21 3c 2f the.<code><span.class="line">!</
74b60 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 74 68 65 20 66 75 6e span></code>.operator.to.the.fun
74b80 63 74 69 6f 6e e2 80 99 73 20 72 65 74 75 72 6e 20 74 79 70 65 2c 20 6c 69 6b 65 20 3c 63 6f 64 ction...s.return.type,.like.<cod
74ba0 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 73 70 61 6e 3e 3c 2f e><span.class="line">!T</span></
74bc0 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 3e 3c 66 69 67 63 61 code>:.......</p>.<figure><figca
74be0 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
74c00 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 65 74 73 2e 7a 69 67 s="file">inferred_error_sets.zig
74c20 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><
74c40 73 70 61 6e 20 63 6c 61 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
74c60 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 66 65 72 72 65 64 20 ok-comment">//.With.an.inferred.
74c80 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c error.set</span></span>.<span.cl
74ca0 61 73 73 3d 22 6c 69 6e 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">
74cc0 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">
74ce0 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 61 fn</span>.<span.class="tok-fn">a
74d00 64 64 5f 69 6e 66 65 72 72 65 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 dd_inferred</span>(<span.class="
74d20 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
74d40 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 61 .class="tok-type">type</span>,.a
74d60 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 70 61 6e 20 63 6c 61 :.T,.b:.T).!T.{</span>.<span.cla
74d80 73 73 3d 22 6c 69 6e 65 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
74da0 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 20 3c 73 70 61 6e 20 w">var</span>.answer:.T.=.<span.
74dc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e class="tok-null">undefined</span
74de0 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">...
74e00 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
74e20 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 an>.<span.class="tok-kw">if</spa
74e40 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 3e 40 61 n>.(<span.class="tok-builtin">@a
74e60 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 61 2c 20 62 2c 20 26 ddWithOverflow</span>(T,.a,.b,.&
74e80 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 22 74 6f 6b 2d 6b 77 amp;answer)).<span.class="tok-kw
74ea0 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 73 70 61 6e 20 63 6c ">error</span>.Overflow.<span.cl
74ec0 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 61 6e 73 77 65 72 3b ass="tok-kw">else</span>.answer;
74ee0 3c 2f 73 70 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
74f00 61 6e 3e 0a 3c 73 70 61 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>.<
74f20 73 70 61 6e 20 63 6c 61 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
74f40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 65 78 70 6c 69 63 69 74 20 ok-comment">//.With.an.explicit.
74f60 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c error.set</span></span>.<span.cl
74f80 61 73 73 3d 22 6c 69 6e 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">
74fa0 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">
74fc0 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 61 fn</span>.<span.class="tok-fn">a
74fe0 64 64 5f 65 78 70 6c 69 63 69 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 dd_explicit</span>(<span.class="
75000 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
75020 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 61 .class="tok-type">type</span>,.a
75040 3a 20 54 2c 20 62 3a 20 54 29 20 45 72 72 6f 72 21 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 :.T,.b:.T).Error!T.{</span>.<spa
75060 6e 20 63 6c 61 73 73 3d 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="
75080 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 20 3c tok-kw">var</span>.answer:.T.=.<
750a0 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<
750c0 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
750e0 22 3e 20 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
75100 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 66 n</span>.<span.class="tok-kw">if
75120 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 74 69 </span>.(<span.class="tok-builti
75140 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 61 2c n">@addWithOverflow</span>(T,.a,
75160 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 22 74 .b,.&amp;answer)).<span.class="t
75180 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 73 70 ok-kw">error</span>.Overflow.<sp
751a0 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 61 6e an.class="tok-kw">else</span>.an
751c0 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 22 3e swer;</span>.<span.class="line">
751e0 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
75200 61 6e 3e 0a 3c 73 70 61 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
75220 73 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 72 72 6f 72 20 3d ss="tok-kw">const</span>.Error.=
75240 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
75260 6e 3e 20 7b 3c 2f 73 70 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">.
75280 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 20 63 6c 61 73 73 3d ...Overflow,</span>.<span.class=
752a0 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
752c0 6e 65 22 3e 3c 2f 73 70 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"><
752e0 73 70 61 6e 20 63 6c 61 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>
75300 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"
75320 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
75340 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>);</
75360 73 70 61 6e 3e 0a 3c 73 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>
75380 0a 3c 73 70 61 6e 20 63 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=
753a0 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
753c0 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 20 65 72 72 6f 72 20 ="tok-str">&quot;inferred.error.
753e0 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 set&quot;</span>.{</span>.<span.
75400 63 6c 61 73 73 3d 22 6c 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
75420 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 72 72 65 64 28 3c 73 k-kw">if</span>.(add_inferred(<s
75440 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>,.
75460 3c 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
75480 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 3c an>,.<span.class="tok-number">1<
754a0 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 22 74 6f 6b 2d 6b 77 /span>)).|_|.<span.class="tok-kw
754c0 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 6e 20 63 6c 61 73 73 ">unreachable</span>.<span.class
754e0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 ="tok-kw">else</span>.|err|.<spa
75500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 n.class="tok-kw">switch</span>.(
75520 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 3d 22 6c 69 6e 65 22 err).{</span>.<span.class="line"
75540 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 >........<span.class="tok-kw">er
75560 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 7d 2c 20 3c 73 ror</span>.Overflow.=&gt;.{},.<s
75580 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 6b 3c 2f 73 pan.class="tok-comment">//.ok</s
755a0 70 61 6e 3e 3c 2f 73 70 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">.
755c0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ...}</span>.<span.class="line">}
755e0 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
75600 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
75620 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>
75640 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
75660 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 67 3c 2f 6b 62 64 3e st.inferred_error_sets.zig</kbd>
75680 3c 2f 73 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
756a0 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 73 65 74 26 71 75 6f est.&quot;inferred.error.set&quo
756c0 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
756e0 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>.</
75700 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
75720 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 61 6e 20 69 6e 66 65 .....When.a.function.has.an.infe
75740 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 74 69 6f 6e 20 62 65 rred.error.set,.that.function.be
75760 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 20 62 65 63 6f 6d 65 comes.generic.and.thus.it.become
75780 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 72 74 61 69 6e 20 74 s.......trickier.to.do.certain.t
757a0 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 74 61 69 6e 20 61 20 hings.with.it,.such.as.obtain.a.
757c0 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 20 61 6e 20 65 72 72 function.pointer,.or.have.an.err
757e0 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 69 73 74 65 6e 74 20 or.......set.that.is.consistent.
75800 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 72 67 65 74 73 2e 20 across.different.build.targets..
75820 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 72 6f 72 20 73 65 74 Additionally,.inferred.error.set
75840 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 77 69 74 68 20 72 65 s.......are.incompatible.with.re
75860 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 20 3c 70 3e 0a 20 20 cursion........</p>.......<p>...
75880 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 69 74 20 69 73 20 72 ....In.these.situations,.it.is.r
758a0 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 69 63 69 74 20 65 72 ecommended.to.use.an.explicit.er
758c0 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 79 20 73 74 61 72 74 ror.set..You.can.generally.start
758e0 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 72 20 73 65 74 20 61 .......with.an.empty.error.set.a
75900 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 64 65 20 79 6f 75 20 nd.let.compile.errors.guide.you.
75920 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 2e 0a 20 20 20 20 20 toward.completing.the.set.......
75940 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6c 69 6d 69 .</p>.......<p>.......These.limi
75960 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 6e 20 61 20 66 75 74 tations.may.be.overcome.in.a.fut
75980 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 20 3c 2f 70 3e 0a 20 ure.version.of.Zig........</p>..
759a0 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 ...................<h3.id="Error
759c0 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 6e 61 76 2e 78 68 74 -Return-Traces"><a.href="nav.xht
759e0 6d 6c 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 ml#toc-Error-Return-Traces">Erro
75a00 72 20 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 r.Return.Traces</a>.<a.class="hd
75a20 72 22 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 r".href="#Error-Return-Traces">.
75a40 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f .</a></h3>........<p>.......Erro
75a60 72 20 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 r.Return.Traces.show.all.the.poi
75a80 6e 74 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 nts.in.the.code.that.an.error.wa
75aa0 73 20 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 s.returned.to.the.calling.functi
75ac0 6f 6e 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 on..This.makes.it.practical.to.u
75ae0 73 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 76 65 72 79 77 se.<a.href="#try">try</a>.everyw
75b00 68 65 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 here.and.then.still.be.able.to.k
75b20 6e 6f 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 now.what.happened.if.an.error.en
75b40 64 73 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 ds.up.bubbling.all.the.way.out.o
75b60 66 20 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 f.your.application........</p>..
75b80 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="
75ba0 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
75bc0 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
75be0 64 65 3e 3c 73 70 61 6e 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
75c00 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
75c20 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
75c40 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 ="tok-fn">main</span>().!<span.c
75c60 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
75c80 70 61 6e 3e 0a 3c 73 70 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
75ca0 6e 20 63 6c 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 n.class="tok-kw">try</span>.foo(
75cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 <span.class="tok-number">12</spa
75ce0 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">}
75d00 3c 2f 73 70 61 6e 3e 0a 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
75d20 6e 3e 0a 3c 73 70 61 6e 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
75d40 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
75d60 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c ="tok-fn">foo</span>(x:.<span.cl
75d80 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 ass="tok-type">i32</span>).!<spa
75da0 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>.{
75dc0 3c 2f 73 70 61 6e 3e 0a 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">....<
75de0 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 78 span.class="tok-kw">if</span>.(x
75e00 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .&gt;=.<span.class="tok-number">
75e20 35 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 5</span>).{</span>.<span.class="
75e40 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
75e60 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">try</span>.bar();</span>.<spa
75e80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 n.class="line">....}.<span.class
75ea0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-kw">else</span>.{</span>.<
75ec0 73 70 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.
75ee0 63 6c 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 class="tok-kw">try</span>.bang2(
75f00 29 3b 3c 2f 73 70 61 6e 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">...
75f20 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">}</
75f40 73 70 61 6e 3e 0a 3c 73 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>
75f60 0a 3c 73 70 61 6e 20 63 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=
75f80 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="
75fa0 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 tok-fn">bar</span>().!<span.clas
75fc0 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
75fe0 3e 0a 3c 73 70 61 6e 20 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
76000 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 7a 28 29 29 20 lass="tok-kw">if</span>.(baz()).
76020 7b 3c 2f 73 70 61 6e 3e 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">....
76040 20 20 20 20 3c 73 70 61 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
76060 61 6e 3e 20 71 75 75 78 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.quux();</span>.<span.class="
76080 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"
760a0 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >else</span>.|err|.<span.class="
760c0 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 tok-kw">switch</span>.(err).{</s
760e0 70 61 6e 3e 0a 3c 73 70 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">........
76100 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
76120 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 >.FileNotFound.=&gt;.<span.class
76140 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 28 29 2c 3c 2f 73 ="tok-kw">try</span>.hello(),</s
76160 70 61 6e 3e 0a 3c 73 70 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">........
76180 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>
761a0 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 74 72 79 3c .=&gt;.<span.class="tok-kw">try<
761c0 2f 73 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 /span>.another(),</span>.<span.c
761e0 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
76200 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
76220 3d 22 6c 69 6e 65 22 3e 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
76240 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
76260 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 7a 3c 2f 73 70 61 6e >.<span.class="tok-fn">baz</span
76280 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
762a0 3c 2f 73 70 61 6e 3e 20 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
762c0 6e 65 22 3e 20 20 20 20 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
762e0 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 63 6c </span>.bang1();</span>.<span.cl
76300 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=
76320 22 6c 69 6e 65 22 3e 3c 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
76340 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>
76360 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e .<span.class="tok-fn">quux</span
76380 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
763a0 3c 2f 73 70 61 6e 3e 20 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
763c0 6e 65 22 3e 20 20 20 20 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
763e0 3c 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 </span>.bang2();</span>.<span.cl
76400 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=
76420 22 6c 69 6e 65 22 3e 3c 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
76440 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>
76460 20 3c 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 .<span.class="tok-fn">hello</spa
76480 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
764a0 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
764c0 69 6e 65 22 3e 20 20 20 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
764e0 79 3c 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 y</span>.bang2();</span>.<span.c
76500 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
76520 3d 22 6c 69 6e 65 22 3e 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
76540 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
76560 3e 20 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 >.<span.class="tok-fn">another</
76580 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">
765a0 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
765c0 3d 22 6c 69 6e 65 22 3e 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"
765e0 3e 74 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 >try</span>.bang1();</span>.<spa
76600 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
76620 61 73 73 3d 22 6c 69 6e 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="
76640 6c 69 6e 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
76660 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c pan>.<span.class="tok-fn">bang1<
76680 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>().!<span.class="tok-type"
766a0 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
766c0 73 3d 22 6c 69 6e 65 22 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
766e0 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
76700 2d 6b 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 -kw">error</span>.FileNotFound;<
76720 2f 73 70 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
76740 6e 3e 0a 3c 73 70 61 6e 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
76760 70 61 6e 20 63 6c 61 73 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
76780 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
767a0 2d 66 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 -fn">bang2</span>().!<span.class
767c0 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>
767e0 0a 3c 73 70 61 6e 20 63 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
76800 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
76820 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 65 72 .class="tok-kw">error</span>.Per
76840 6d 69 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 missionDenied;</span>.<span.clas
76860 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></
76880 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
768a0 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><
768c0 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">$.<
768e0 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>
76900 3c 2f 73 70 61 6e 3e 0a 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
76920 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
76940 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
76960 6e 65 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 ne">error:.PermissionDenied</spa
76980 6e 3e 0a 3c 73 70 61 6e 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
769a0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 s="t1_0">/home/andy/Downloads/zi
769c0 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 39 3a 35 3c 2f 73 70 61 6e g/docgen_tmp/test.zig:39:5</span
769e0 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 61 30 32 20 69 >:.<span.class="t2_0">0x234a02.i
76a00 6e 20 62 61 6e 67 31 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 n.bang1.(test)</span></span>.<sp
76a20 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 65 72 72 6f 72 an.class="line">....return.error
76a40 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .FileNotFound;</span>.<span.clas
76a60 73 3d 22 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"
76a80 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
76aa0 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
76ac0 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e y/Downloads/zig/docgen_tmp/test.
76ae0 7a 69 67 3a 32 33 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:23:5</span>:.<span.class="t2
76b00 5f 30 22 3e 30 78 32 33 34 38 64 66 20 69 6e 20 62 61 7a 20 28 74 65 73 74 29 3c 2f 73 70 61 6e _0">0x2348df.in.baz.(test)</span
76b20 3e 3c 2f 73 70 61 6e 3e 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">....
76b40 74 72 79 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 73 3d try.bang1();</span>.<span.class=
76b60 22 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">^
76b80 3c 2f 73 70 61 6e 3e 3c 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
76ba0 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/
76bc0 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 Downloads/zig/docgen_tmp/test.zi
76be0 67 3a 34 33 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 g:43:5</span>:.<span.class="t2_0
76c00 22 3e 30 78 32 33 34 38 61 32 20 69 6e 20 62 61 6e 67 32 20 28 74 65 73 74 29 3c 2f 73 70 61 6e ">0x2348a2.in.bang2.(test)</span
76c20 3e 3c 2f 73 70 61 6e 3e 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">....
76c40 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 3c 2f return.error.PermissionDenied;</
76c60 73 70 61 6e 3e 0a 3c 73 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
76c80 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>
76ca0 0a 3c 73 70 61 6e 20 63 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=
76cc0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f "t1_0">/home/andy/Downloads/zig/
76ce0 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 73 70 61 6e 3e 3a docgen_tmp/test.zig:31:5</span>:
76d00 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 39 63 66 20 69 6e 20 .<span.class="t2_0">0x2349cf.in.
76d20 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 0a 3c 73 70 61 6e hello.(test)</span></span>.<span
76d40 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 32 28 29 3b 3c 2f .class="line">....try.bang2();</
76d60 73 70 61 6e 3e 0a 3c 73 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
76d80 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>
76da0 0a 3c 73 70 61 6e 20 63 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=
76dc0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f "t1_0">/home/andy/Downloads/zig/
76de0 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>
76e00 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 38 36 65 20 69 6e :.<span.class="t2_0">0x23486e.in
76e20 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.
76e40 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
76e60 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
76e80 3e 0a 3c 73 70 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">...........
76ea0 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="
76ec0 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
76ee0 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
76f00 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 me/andy/Downloads/zig/docgen_tmp
76f20 2f 74 65 73 74 2e 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 /test.zig:7:9</span>:.<span.clas
76f40 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 37 35 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c s="t2_0">0x23475c.in.foo.(test)<
76f60 2f 73 70 61 6e 3e 3c 2f 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"
76f80 3e 20 20 20 20 20 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 >........try.bar();</span>.<span
76fa0 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
76fc0 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.
76fe0 63 6c 61 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">
77000 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f /home/andy/Downloads/zig/docgen_
77020 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 6e 20 63 tmp/test.zig:2:5</span>:.<span.c
77040 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 64 30 35 34 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x22d054.in.main.(te
77060 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
77080 69 6e 65 22 3e 20 20 20 20 74 72 79 20 66 6f 6f 28 31 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ine">....try.foo(12);</span>.<sp
770a0 61 6e 20 63 6c 61 73 73 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=
770c0 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><
770e0 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 4c /pre></figure>.......<p>.......L
77100 6f 6f 6b 20 63 6c 6f 73 65 6c 79 20 61 74 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2e 20 54 68 69 ook.closely.at.this.example..Thi
77120 73 20 69 73 20 6e 6f 20 73 74 61 63 6b 20 74 72 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a s.is.no.stack.trace........</p>.
77140 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 73 65 65 20 74 68 61 74 ......<p>.......You.can.see.that
77160 20 74 68 65 20 66 69 6e 61 6c 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 20 75 70 20 77 61 73 20 .the.final.error.bubbled.up.was.
77180 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 65 72 6d 69 73 73 <code><span.class="line">Permiss
771a0 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 ionDenied</span></code>,........
771c0 20 20 20 62 75 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 74 68 61 74 20 73 ...but.the.original.error.that.s
771e0 74 61 72 74 65 64 20 74 68 69 73 20 77 68 6f 6c 65 20 74 68 69 6e 67 20 77 61 73 20 3c 63 6f 64 tarted.this.whole.thing.was.<cod
77200 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 6c 65 4e 6f 74 46 6f 75 6e e><span.class="line">FileNotFoun
77220 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 d</span></code>..In.the.<code><s
77240 70 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 pan.class="line">bar</span></cod
77260 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 63 6f 64 65 20 68 61 6e 64 6c 65 73 20 74 68 e>.function,.the.code.handles.th
77280 65 20 6f 72 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 61 6e 64 e.original.error.code,.......and
772a0 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 61 6e 6f 74 68 65 72 20 6f 6e 65 2c 20 66 72 6f 6d 20 .then.returns.another.one,.from.
772c0 74 68 65 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 2e 20 45 72 72 6f 72 20 52 65 74 75 the.switch.statement..Error.Retu
772e0 72 6e 20 54 72 61 63 65 73 20 6d 61 6b 65 20 74 68 69 73 20 63 6c 65 61 72 2c 20 77 68 65 72 65 rn.Traces.make.this.clear,.where
77300 61 73 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 20 77 6f 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 as.a.stack.trace.would.look.like
77320 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 3e .this:.......</p>.......<figure>
77340 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
77360 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></
77380 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
773a0 73 3d 22 6c 69 6e 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
773c0 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e b</span>.<span.class="tok-kw">fn
773e0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 </span>.<span.class="tok-fn">mai
77400 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n</span>().<span.class="tok-type
77420 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
77440 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 73 3d 22 74 ss="line">....foo(<span.class="t
77460 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">12</span>);</span>.<s
77480 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.
774a0 63 6c 61 73 73 3d 22 6c 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
774c0 3d 22 6c 69 6e 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<
774e0 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<
77500 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>(x:.<span.class="tok-type"
77520 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
77540 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
77560 6c 61 73 73 3d 22 6c 69 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
77580 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c -kw">if</span>.(x.&gt;=.<span.cl
775a0 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 20 7b 3c 2f 73 70 ass="tok-number">5</span>).{</sp
775c0 61 6e 3e 0a 3c 73 70 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
775e0 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ar();</span>.<span.class="line">
77600 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<
77620 2f 73 70 61 6e 3e 20 7b 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
77640 65 22 3e 20 20 20 20 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">........bang2();</span>.<span
77660 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
77680 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
776a0 73 73 3d 22 6c 69 6e 65 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
776c0 69 6e 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
776e0 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
77700 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
77720 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
77740 69 6e 65 22 3e 20 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
77760 3c 2f 73 70 61 6e 3e 20 28 62 61 7a 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 </span>.(baz()).{</span>.<span.c
77780 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 71 75 75 78 28 29 3b 3c 2f 73 70 61 lass="line">........quux();</spa
777a0 6e 3e 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
777c0 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>.{</
777e0 73 70 61 6e 3e 0a 3c 73 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">.......
77800 20 68 65 6c 6c 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .hello();</span>.<span.class="li
77820 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
77840 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">
77860 3c 2f 73 70 61 6e 3e 0a 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
77880 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.
778a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 class="tok-fn">baz</span>().<spa
778c0 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>.{
778e0 3c 2f 73 70 61 6e 3e 0a 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">....<
77900 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
77920 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 73 3d 22 6c >.bang1();</span>.<span.class="l
77940 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"
77960 3e 3c 2f 73 70 61 6e 3e 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
77980 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
779a0 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 29 20 3c 73 .class="tok-fn">quux</span>().<s
779c0 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>
779e0 20 7b 3c 2f 73 70 61 6e 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">...
77a00 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 73 3d 22 6c 69 .bang2();</span>.<span.class="li
77a20 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">
77a40 3c 2f 73 70 61 6e 3e 0a 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
77a60 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.
77a80 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 class="tok-fn">hello</span>().<s
77aa0 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>
77ac0 20 7b 3c 2f 73 70 61 6e 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">...
77ae0 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 73 3d 22 6c 69 .bang2();</span>.<span.class="li
77b00 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">
77b20 3c 2f 73 70 61 6e 3e 0a 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
77b40 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.
77b60 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 class="tok-fn">bang1</span>().<s
77b80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e pan.class="tok-type">bool</span>
77ba0 20 7b 3c 2f 73 70 61 6e 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">...
77bc0 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
77be0 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
77c00 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
77c20 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"><
77c40 2f 73 70 61 6e 3e 0a 3c 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.
77c60 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
77c80 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 lass="tok-fn">bang2</span>().<sp
77ca0 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>.
77cc0 7b 3c 2f 73 70 61 6e 3e 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">....
77ce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 <span.class="tok-builtin">@panic
77d00 3c 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
77d20 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e uot;PermissionDenied&quot;</span
77d40 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">}<
77d60 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
77d80 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
77da0 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><
77dc0 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
77de0 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 70 ld-exe.test.zig</kbd></span>.<sp
77e00 61 6e 20 63 6c 61 73 73 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
77e20 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 2f ass="line">$.<kbd>./test</kbd></
77e40 73 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 64 20 span>.<span.class="line">thread.
77e60 37 39 34 38 35 35 20 70 61 6e 69 63 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 794855.panic:.PermissionDenied</
77e80 73 70 61 6e 3e 0a 3c 73 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
77ea0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 lass="t1_0">/home/andy/Downloads
77ec0 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 38 3a 35 3c 2f 73 /zig/docgen_tmp/test.zig:38:5</s
77ee0 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 35 38 37 pan>:.<span.class="t2_0">0x23587
77f00 36 20 69 6e 20 62 61 6e 67 32 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 6.in.bang2.(test)</span></span>.
77f20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 70 61 6e 69 63 28 26 71 <span.class="line">....@panic(&q
77f40 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 uot;PermissionDenied&quot;);</sp
77f60 61 6e 3e 0a 3c 73 70 61 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
77f80 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>.<
77fa0 73 70 61 6e 20 63 6c 61 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
77fc0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 1_0">/home/andy/Downloads/zig/do
77fe0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 30 3a 31 30 3c 2f 73 70 61 6e 3e 3a 20 cgen_tmp/test.zig:30:10</span>:.
78000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 35 66 63 38 20 69 6e 20 68 <span.class="t2_0">0x235fc8.in.h
78020 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 0a 3c 73 70 61 6e 20 ello.(test)</span></span>.<span.
78040 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 70 61 6e 3e class="line">....bang2();</span>
78060 0a 3c 73 70 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 .<span.class="line">.........<sp
78080 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>
780a0 0a 3c 73 70 61 6e 20 63 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=
780c0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f "t1_0">/home/andy/Downloads/zig/
780e0 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 61 6e 3e docgen_tmp/test.zig:17:14</span>
78100 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 35 38 35 61 20 69 6e :.<span.class="t2_0">0x23585a.in
78120 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.
78140 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
78160 70 61 6e 3e 0a 3c 73 70 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">........
78180 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
781a0 3e 3c 2f 73 70 61 6e 3e 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
781c0 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 44 6f 77 6e 6c 6f n.class="t1_0">/home/andy/Downlo
781e0 61 64 73 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 ads/zig/docgen_tmp/test.zig:7:12
78200 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
78220 34 34 64 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 44d5.in.foo.(test)</span></span>
78240 0a 3c 73 70 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 .<span.class="line">........bar(
78260 29 3b 3c 2f 73 70 61 6e 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">...
78280 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
782a0 70 61 6e 3e 3c 2f 73 70 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"><
782c0 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 44 6f 77 span.class="t1_0">/home/andy/Dow
782e0 6e 6c 6f 61 64 73 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 32 nloads/zig/docgen_tmp/test.zig:2
78300 3a 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 :8</span>:.<span.class="t2_0">0x
78320 32 32 63 65 33 64 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 22ce3d.in.main.(test)</span></sp
78340 61 6e 3e 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 31 an>.<span.class="line">....foo(1
78360 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">..
78380 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
783a0 3e 3c 2f 73 70 61 6e 3e 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
783c0 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 44 6f 77 6e 6c 6f n.class="t1_0">/home/andy/Downlo
783e0 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 ads/zig/lib/std/start.zig:543:22
78400 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
78420 35 62 63 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 5bcc.in.std.start.callMain.(test
78440 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
78460 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 61 e">............root.main();</spa
78480 6e 3e 0a 3c 73 70 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">..........
784a0 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">^
784c0 3c 2f 73 70 61 6e 3e 3c 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
784e0 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/
78500 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a Downloads/zig/lib/std/start.zig:
78520 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 5f 30 495:12</span>:.<span.class="t2_0
78540 22 3e 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 ">0x206fce.in.std.start.callMain
78560 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 3c 73 WithArgs.(test)</span></span>.<s
78580 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 61 6c pan.class="line">....return.@cal
785a0 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 65 20 l(.{..modifier.=..always_inline.
785c0 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 6e 20 },.callMain,..{});</span>.<span.
785e0 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 63 6c class="line">...........<span.cl
78600 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
78620 6e 20 63 6c 61 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
78640 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 ">/home/andy/Downloads/zig/lib/s
78660 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
78680 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 36 36 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x206066.in.std.s
786a0 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)
786c0 3c 2f 73 70 61 6e 3e 3c 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
786e0 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
78700 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
78720 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.}
78740 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">..
78760 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
78780 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
787a0 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
787c0 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a dy/Downloads/zig/lib/std/start.z
787e0 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
78800 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 61 72 74 _0">0x205e72.in.std.start._start
78820 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
78840 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.
78860 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
78880 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
788a0 73 3d 22 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"
788c0 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
788e0 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
78900 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>
78920 0a 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 .......<p>.......Here,.the.stack
78940 20 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 .trace.does.not.explain.how.the.
78960 63 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 control.......flow.in.<code><spa
78980 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 3e n.class="line">bar</span></code>
789a0 20 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 .got.to.the.<code><span.class="l
789c0 69 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 ine">hello()</span></code>.call.
789e0 0a 20 20 20 20 20 20 4f 6e 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 6f 70 65 6e 20 61 20 .......One.would.have.to.open.a.
78a00 64 65 62 75 67 67 65 72 20 6f 72 20 66 75 72 74 68 65 72 20 69 6e 73 74 72 75 6d 65 6e 74 20 74 debugger.or.further.instrument.t
78a20 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f he.application.......in.order.to
78a40 20 66 69 6e 64 20 6f 75 74 2e 20 54 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 .find.out..The.error.return.trac
78a60 65 2c 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 0a 20 20 20 20 20 20 73 68 6f 77 e,.on.the.other.hand,.......show
78a80 73 20 65 78 61 63 74 6c 79 20 68 6f 77 20 74 68 65 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 20 s.exactly.how.the.error.bubbled.
78aa0 75 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 up........</p>.......<p>.......T
78ac0 68 69 73 20 64 65 62 75 67 67 69 6e 67 20 66 65 61 74 75 72 65 20 6d 61 6b 65 73 20 69 74 20 65 his.debugging.feature.makes.it.e
78ae0 61 73 69 65 72 20 74 6f 20 69 74 65 72 61 74 65 20 71 75 69 63 6b 6c 79 20 6f 6e 20 63 6f 64 65 asier.to.iterate.quickly.on.code
78b00 20 74 68 61 74 0a 20 20 20 20 20 20 72 6f 62 75 73 74 6c 79 20 68 61 6e 64 6c 65 73 20 61 6c 6c .that.......robustly.handles.all
78b20 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 .error.conditions..This.means.th
78b40 61 74 20 5a 69 67 20 64 65 76 65 6c 6f 70 65 72 73 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 61 74 at.Zig.developers.......will.nat
78b60 75 72 61 6c 6c 79 20 66 69 6e 64 20 74 68 65 6d 73 65 6c 76 65 73 20 77 72 69 74 69 6e 67 20 63 urally.find.themselves.writing.c
78b80 6f 72 72 65 63 74 2c 20 72 6f 62 75 73 74 20 63 6f 64 65 20 69 6e 20 6f 72 64 65 72 0a 20 20 20 orrect,.robust.code.in.order....
78ba0 20 20 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 69 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 ...to.increase.their.development
78bc0 20 70 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 .pace........</p>.......<p>.....
78be0 20 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 61 72 65 20 65 6e 61 62 6c 65 ..Error.Return.Traces.are.enable
78c00 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 d.by.default.in.<a.href="#Debug"
78c20 3e 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 >Debug</a>.and.<a.href="#Release
78c40 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 62 75 69 6c 64 73 20 61 6e 64 Safe">ReleaseSafe</a>.builds.and
78c60 20 64 69 73 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d .disabled.by.default.in.<a.href=
78c80 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 61 "#ReleaseFast">ReleaseFast</a>.a
78ca0 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 nd.<a.href="#ReleaseSmall">Relea
78cc0 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 6c 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 seSmall</a>.builds........</p>..
78ce0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 .....<p>.......There.are.a.few.w
78d00 61 79 73 20 74 6f 20 61 63 74 69 76 61 74 65 20 74 68 69 73 20 65 72 72 6f 72 20 72 65 74 75 72 ays.to.activate.this.error.retur
78d20 6e 20 74 72 61 63 69 6e 67 20 66 65 61 74 75 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 n.tracing.feature:.......</p>...
78d40 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 74 75 72 6e 20 61 6e 20 65 ....<ul>.........<li>Return.an.e
78d60 72 72 6f 72 20 66 72 6f 6d 20 6d 61 69 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e rror.from.main</li>.........<li>
78d80 41 6e 20 65 72 72 6f 72 20 6d 61 6b 65 73 20 69 74 73 20 77 61 79 20 74 6f 20 3c 63 6f 64 65 3e An.error.makes.its.way.to.<code>
78da0 3c 73 70 61 6e 20 63 6c 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="
78dc0 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 73 tok-kw">catch</span>.<span.class
78de0 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ="tok-kw">unreachable</span></sp
78e00 61 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 an></code>.and.you.have.not.over
78e20 72 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 ridden.the.default.panic.handler
78e40 3c 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 </li>.........<li>Use.<a.href="#
78e60 65 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 errorReturnTrace">errorReturnTra
78e80 63 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 ce</a>.to.access.the.current.ret
78ea0 75 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 urn.trace..You.can.use.<code><sp
78ec0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 74 an.class="line">std.debug.dumpSt
78ee0 61 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 ackTrace</span></code>.to.print.
78f00 69 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 it..This.function.returns.compti
78f20 6d 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 me-known.<a.href="#null">null</a
78f40 3e 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 >.when.building.without.error.re
78f60 74 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 turn.tracing.support.</li>......
78f80 20 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 .</ul>.......<h4.id="Implementat
78fa0 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 ion-Details"><a.href="nav.xhtml#
78fc0 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c toc-Implementation-Details">Impl
78fe0 65 6d 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ementation.Details</a>.<a.class=
79000 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 "hdr".href="#Implementation-Deta
79020 69 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ils">..</a></h4>........<p>.....
79040 20 20 54 6f 20 61 6e 61 6c 79 7a 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 63 6f 73 74 2c 20 74 ..To.analyze.performance.cost,.t
79060 68 65 72 65 20 61 72 65 20 74 77 6f 20 63 61 73 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 here.are.two.cases:.......</p>..
79080 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 6e 6f 20 65 72 .....<ul>.........<li>when.no.er
790a0 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c rors.are.returned</li>.........<
790c0 6c 69 3e 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 20 65 72 72 6f 72 73 3c 2f 6c 69 3e 0a 20 20 li>when.returning.errors</li>...
790e0 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 20 74 68 ....</ul>.......<p>.......For.th
79100 65 20 63 61 73 65 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e e.case.when.no.errors.are.return
79120 65 64 2c 20 74 68 65 20 63 6f 73 74 20 69 73 20 61 20 73 69 6e 67 6c 65 20 6d 65 6d 6f 72 79 20 ed,.the.cost.is.a.single.memory.
79140 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 66 69 72 write.operation,.only.in.the.fir
79160 73 74 20 6e 6f 6e 2d 66 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 st.non-failable.function.in.the.
79180 63 61 6c 6c 20 67 72 61 70 68 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 61 69 6c 61 62 6c 65 call.graph.that.calls.a.failable
791a0 20 66 75 6e 63 74 69 6f 6e 2c 20 69 2e 65 2e 20 77 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 .function,.i.e..when.a.function.
791c0 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e returning.<code><span.class="lin
791e0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f e"><span.class="tok-type">void</
79200 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 20 61 20 66 75 6e 63 span></span></code>.calls.a.func
79220 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 tion.returning.<code><span.class
79240 3d 22 6c 69 6e 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
79260 6f 72 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 54 or</span></span></code>........T
79280 68 69 73 20 69 73 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 69 73 20 73 74 72 75 63 74 his.is.to.initialize.this.struct
792a0 20 69 6e 20 74 68 65 20 73 74 61 63 6b 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e .in.the.stack.memory:.......</p>
792c0 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
792e0 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 74 ="zig-cap"><cite.class="file">st
79300 61 63 6b 5f 74 72 61 63 65 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ack_trace_struct.zig</cite></fig
79320 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="
79340 6c 69 6e 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</
79360 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 span>.<span.class="tok-kw">const
79380 3c 2f 73 70 61 6e 3e 20 53 74 61 63 6b 54 72 61 63 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.StackTrace.=.<span.class
793a0 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>
793c0 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 64 65 78 3a 20 3c .<span.class="line">....index:.<
793e0 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
79400 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
79420 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 3a 20 5b 4e 5d 3c 73 70 61 ..instruction_addresses:.[N]<spa
79440 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>,
79460 3c 2f 73 70 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
79480 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>......
794a0 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 2c 20 4e 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 .<p>.......Here,.N.is.the.maximu
794c0 6d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 64 65 70 74 68 20 61 73 20 64 65 74 65 72 6d 69 m.function.call.depth.as.determi
794e0 6e 65 64 20 62 79 20 63 61 6c 6c 20 67 72 61 70 68 20 61 6e 61 6c 79 73 69 73 2e 20 52 65 63 75 ned.by.call.graph.analysis..Recu
79500 72 73 69 6f 6e 20 69 73 20 69 67 6e 6f 72 65 64 20 61 6e 64 20 63 6f 75 6e 74 73 20 66 6f 72 20 rsion.is.ignored.and.counts.for.
79520 32 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 2........</p>.......<p>.......A.
79540 70 6f 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 pointer.to.<code><span.class="li
79560 6e 65 22 3e 53 74 61 63 6b 54 72 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 ne">StackTrace</span></code>.is.
79580 70 61 73 73 65 64 20 61 73 20 61 20 73 65 63 72 65 74 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 passed.as.a.secret.parameter.to.
795a0 65 76 65 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6e 20 72 65 74 75 72 6e 20 61 every.function.that.can.return.a
795c0 6e 20 65 72 72 6f 72 2c 20 62 75 74 20 69 74 27 73 20 61 6c 77 61 79 73 20 74 68 65 20 66 69 72 n.error,.but.it's.always.the.fir
795e0 73 74 20 70 61 72 61 6d 65 74 65 72 2c 20 73 6f 20 69 74 20 63 61 6e 20 6c 69 6b 65 6c 79 20 73 st.parameter,.so.it.can.likely.s
79600 69 74 20 69 6e 20 61 20 72 65 67 69 73 74 65 72 20 61 6e 64 20 73 74 61 79 20 74 68 65 72 65 2e it.in.a.register.and.stay.there.
79620 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 61 74 .......</p>.......<p>.......That
79640 27 73 20 69 74 20 66 6f 72 20 74 68 65 20 70 61 74 68 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 's.it.for.the.path.when.no.error
79660 73 20 6f 63 63 75 72 2e 20 49 74 27 73 20 70 72 61 63 74 69 63 61 6c 6c 79 20 66 72 65 65 20 69 s.occur..It's.practically.free.i
79680 6e 20 74 65 72 6d 73 20 6f 66 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 20 20 20 20 20 20 3c 2f n.terms.of.performance........</
796a0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 67 65 6e 65 72 61 74 69 p>.......<p>.......When.generati
796c0 6e 67 20 74 68 65 20 63 6f 64 65 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 ng.the.code.for.a.function.that.
796e0 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 returns.an.error,.just.before.th
79700 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
79720 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
79740 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 20 28 6f 6e 6c 79 20 66 6f 72 20 pan></code>.statement.(only.for.
79760 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
79780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">return</span><
797a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 /span></code>.statements.that.re
797c0 74 75 72 6e 20 65 72 72 6f 72 73 29 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 61 20 63 61 turn.errors),.Zig.generates.a.ca
797e0 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ll.to.this.function:.......</p>.
79800 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=
79820 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 7a 69 67 "zig-cap"><cite.class="file">zig
79840 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 _return_error_fn.zig</cite></fig
79860 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="
79880 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">
798a0 2f 2f 20 6d 61 72 6b 65 64 20 61 73 20 26 71 75 6f 74 3b 6e 6f 2d 69 6e 6c 69 6e 65 26 71 75 6f //.marked.as.&quot;no-inline&quo
798c0 74 3b 20 69 6e 20 4c 4c 56 4d 20 49 52 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;.in.LLVM.IR</span></span>.<spa
798e0 6e 20 63 6c 61 73 73 3d 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-
79900 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
79920 6e 22 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 73 74 61 n">__zig_return_error</span>(sta
79940 63 6b 5f 74 72 61 63 65 3a 20 2a 53 74 61 63 6b 54 72 61 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 ck_trace:.*StackTrace).<span.cla
79960 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
79980 6e 3e 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 n>.<span.class="line">....stack_
799a0 74 72 61 63 65 2e 69 6e 73 74 72 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 5b 73 74 61 63 trace.instruction_addresses[stac
799c0 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f k_trace.index].=.<span.class="to
799e0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e k-builtin">@returnAddress</span>
79a00 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">..
79a20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 20 3d 20 28 73 74 61 63 6b 5f 74 72 61 ..stack_trace.index.=.(stack_tra
79a40 63 65 2e 69 6e 64 65 78 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ce.index.+.<span.class="tok-numb
79a60 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 25 20 4e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 er">1</span>).%.N;</span>.<span.
79a80 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
79aa0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 e></figure>.......<p>.......The.
79ac0 63 6f 73 74 20 69 73 20 32 20 6d 61 74 68 20 6f 70 65 72 61 74 69 6f 6e 73 20 70 6c 75 73 20 73 cost.is.2.math.operations.plus.s
79ae0 6f 6d 65 20 6d 65 6d 6f 72 79 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 2e 20 54 68 65 ome.memory.reads.and.writes..The
79b00 20 6d 65 6d 6f 72 79 20 61 63 63 65 73 73 65 64 20 69 73 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 .memory.accessed.is.constrained.
79b20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 6d 61 69 6e 20 63 61 63 68 65 64 20 66 6f 72 20 74 68 65 and.should.remain.cached.for.the
79b40 20 64 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 62 75 .duration.of.the.error.return.bu
79b60 62 62 6c 69 6e 67 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 bbling........</p>.......<p>....
79b80 20 20 20 41 73 20 66 6f 72 20 63 6f 64 65 20 73 69 7a 65 20 63 6f 73 74 2c 20 31 20 66 75 6e 63 ...As.for.code.size.cost,.1.func
79ba0 74 69 6f 6e 20 63 61 6c 6c 20 62 65 66 6f 72 65 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d tion.call.before.a.return.statem
79bc0 65 6e 74 20 69 73 20 6e 6f 20 62 69 67 20 64 65 61 6c 2e 20 45 76 65 6e 20 73 6f 2c 0a 20 20 20 ent.is.no.big.deal..Even.so,....
79be0 20 20 20 49 20 68 61 76 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 ...I.have.<a.href="https://githu
79c00 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 36 39 30 22 3e 61 20 b.com/ziglang/zig/issues/690">a.
79c20 70 6c 61 6e 3c 2f 61 3e 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 plan</a>.to.make.the.call.to....
79c40 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 5f 5f 7a 69 ...<code><span.class="line">__zi
79c60 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 20 74 g_return_error</span></code>.a.t
79c80 61 69 6c 20 63 61 6c 6c 2c 20 77 68 69 63 68 20 62 72 69 6e 67 73 20 74 68 65 20 63 6f 64 65 20 ail.call,.which.brings.the.code.
79ca0 73 69 7a 65 20 63 6f 73 74 20 64 6f 77 6e 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 7a 65 72 6f 2e size.cost.down.to.actually.zero.
79cc0 20 57 68 61 74 20 69 73 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 63 .What.is.a.return.statement.in.c
79ce0 6f 64 65 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 ode.without.error.return.tracing
79d00 20 63 61 6e 20 62 65 63 6f 6d 65 20 61 20 6a 75 6d 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 .can.become.a.jump.instruction.i
79d20 6e 20 63 6f 64 65 20 77 69 74 68 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 n.code.with.error.return.tracing
79d40 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 ........</p>....................
79d60 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 ........<h2.id="Optionals"><a.hr
79d80 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 ef="nav.xhtml#toc-Optionals">Opt
79da0 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ionals</a>.<a.class="hdr".href="
79dc0 23 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c #Optionals">..</a></h2>........<
79de0 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 61 72 65 61 20 74 68 61 74 20 5a 69 67 20 70 72 6f 76 69 p>.......One.area.that.Zig.provi
79e00 64 65 73 20 73 61 66 65 74 79 20 77 69 74 68 6f 75 74 20 63 6f 6d 70 72 6f 6d 69 73 69 6e 67 20 des.safety.without.compromising.
79e20 65 66 66 69 63 69 65 6e 63 79 20 6f 72 0a 20 20 20 20 20 20 72 65 61 64 61 62 69 6c 69 74 79 20 efficiency.or.......readability.
79e40 69 73 20 77 69 74 68 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 is.with.the.optional.type.......
79e60 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 71 75 65 73 74 69 .</p>.......<p>.......The.questi
79e80 6f 6e 20 6d 61 72 6b 20 73 79 6d 62 6f 6c 69 7a 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 on.mark.symbolizes.the.optional.
79ea0 74 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 63 6f 6e 76 65 72 74 20 61 20 74 79 70 65 20 74 6f 20 type..You.can.convert.a.type.to.
79ec0 61 6e 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 74 79 70 65 20 62 79 20 70 75 74 74 69 6e an.optional.......type.by.puttin
79ee0 67 20 61 20 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 69 74 g.a.question.mark.in.front.of.it
79f00 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 ,.like.this:.......</p>.......<f
79f20 69 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
79f40 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
79f60 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
79f80 6e 20 63 6c 61 73 73 3d 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-
79fa0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 72 6d 61 6c 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e comment">//.normal.integer</span
79fc0 3e 3c 2f 73 70 61 6e 3e 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
79fe0 6e 20 63 6c 61 73 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
7a000 72 6d 61 6c 5f 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 rmal_int:.<span.class="tok-type"
7a020 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
7a040 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
7a060 20 63 6c 61 73 73 3d 22 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
7a080 73 3d 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
7a0a0 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 t">//.optional.integer</span></s
7a0c0 70 61 6e 3e 0a 3c 73 70 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
7a0e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e ass="tok-kw">const</span>.option
7a100 61 6c 5f 69 6e 74 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e al_int:.?<span.class="tok-type">
7a120 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
7a140 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e mber">5678</span>;</span></code>
7a160 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>.......
7a180 4e 6f 77 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 Now.the.variable.<code><span.cla
7a1a0 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 ss="line">optional_int</span></c
7a1c0 6f 64 65 3e 20 63 6f 75 6c 64 20 62 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ode>.could.be.an.<code><span.cla
7a1e0 73 73 3d 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"
7a200 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 >i32</span></span></code>,.or.<c
7a220 6f 64 65 3e 3c 73 70 61 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
7a240 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-null">null</span></span>
7a260 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 20 </code>........</p>.......<p>...
7a280 20 20 20 20 49 6e 73 74 65 61 64 20 6f 66 20 69 6e 74 65 67 65 72 73 2c 20 6c 65 74 27 73 20 74 ....Instead.of.integers,.let's.t
7a2a0 61 6c 6b 20 61 62 6f 75 74 20 70 6f 69 6e 74 65 72 73 2e 20 4e 75 6c 6c 20 72 65 66 65 72 65 6e alk.about.pointers..Null.referen
7a2c0 63 65 73 20 61 72 65 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 6d 61 6e 79 20 72 75 6e 74 69 ces.are.the.source.of.many.runti
7a2e0 6d 65 0a 20 20 20 20 20 20 65 78 63 65 70 74 69 6f 6e 73 2c 20 61 6e 64 20 65 76 65 6e 20 73 74 me.......exceptions,.and.even.st
7a300 61 6e 64 20 61 63 63 75 73 65 64 20 6f 66 20 62 65 69 6e 67 0a 20 20 20 20 20 20 3c 61 20 68 72 and.accused.of.being.......<a.hr
7a320 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 6c 75 63 69 64 63 68 61 72 74 2e 63 6f 6d 2f 74 ef="https://www.lucidchart.com/t
7a340 65 63 68 62 6c 6f 67 2f 32 30 31 35 2f 30 38 2f 33 31 2f 74 68 65 2d 77 6f 72 73 74 2d 6d 69 73 echblog/2015/08/31/the-worst-mis
7a360 74 61 6b 65 2d 6f 66 2d 63 6f 6d 70 75 74 65 72 2d 73 63 69 65 6e 63 65 2f 22 3e 74 68 65 20 77 take-of-computer-science/">the.w
7a380 6f 72 73 74 20 6d 69 73 74 61 6b 65 20 6f 66 20 63 6f 6d 70 75 74 65 72 20 73 63 69 65 6e 63 65 orst.mistake.of.computer.science
7a3a0 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 5a 69 67 20 64 6f </a>........</p>.......<p>Zig.do
7a3c0 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 6d 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a es.not.have.them.</p>.......<p>.
7a3e0 20 20 20 20 20 20 49 6e 73 74 65 61 64 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6e 20 6f 70 ......Instead,.you.can.use.an.op
7a400 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 73 65 63 72 65 74 6c 79 20 63 6f tional.pointer..This.secretly.co
7a420 6d 70 69 6c 65 73 20 64 6f 77 6e 20 74 6f 20 61 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 2c mpiles.down.to.a.normal.pointer,
7a440 0a 20 20 20 20 20 20 73 69 6e 63 65 20 77 65 20 6b 6e 6f 77 20 77 65 20 63 61 6e 20 75 73 65 20 .......since.we.know.we.can.use.
7a460 30 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 6f 70 74 69 0.as.the.null.value.for.the.opti
7a480 6f 6e 61 6c 20 74 79 70 65 2e 20 42 75 74 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 onal.type..But.the.compiler.....
7a4a0 20 20 63 61 6e 20 63 68 65 63 6b 20 79 6f 75 72 20 77 6f 72 6b 20 61 6e 64 20 6d 61 6b 65 20 73 ..can.check.your.work.and.make.s
7a4c0 75 72 65 20 79 6f 75 20 64 6f 6e 27 74 20 61 73 73 69 67 6e 20 6e 75 6c 6c 20 74 6f 20 73 6f 6d ure.you.don't.assign.null.to.som
7a4e0 65 74 68 69 6e 67 20 74 68 61 74 20 63 61 6e 27 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 ething.that.can't.be.null.......
7a500 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 69 63 61 6c 6c 79 20 .</p>.......<p>.......Typically.
7a520 74 68 65 20 64 6f 77 6e 73 69 64 65 20 6f 66 20 6e 6f 74 20 68 61 76 69 6e 67 20 6e 75 6c 6c 20 the.downside.of.not.having.null.
7a540 69 73 20 74 68 61 74 20 69 74 20 6d 61 6b 65 73 20 74 68 65 20 63 6f 64 65 20 6d 6f 72 65 20 76 is.that.it.makes.the.code.more.v
7a560 65 72 62 6f 73 65 20 74 6f 0a 20 20 20 20 20 20 77 72 69 74 65 2e 20 42 75 74 2c 20 6c 65 74 27 erbose.to.......write..But,.let'
7a580 73 20 63 6f 6d 70 61 72 65 20 73 6f 6d 65 20 65 71 75 69 76 61 6c 65 6e 74 20 43 20 63 6f 64 65 s.compare.some.equivalent.C.code
7a5a0 20 61 6e 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .and.Zig.code........</p>.......
7a5c0 3c 70 3e 0a 20 20 20 20 20 20 54 61 73 6b 3a 20 63 61 6c 6c 20 6d 61 6c 6c 6f 63 2c 20 69 66 20 <p>.......Task:.call.malloc,.if.
7a5e0 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 75 6c 6c 2c 20 72 65 74 75 72 6e 20 6e 75 6c 6c 2e the.result.is.null,.return.null.
7a600 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 20 63 6f 64 65 3c 2f 70 3e 0a .......</p>.......<p>C.code</p>.
7a620 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=
7a640 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 6c 6c 5f "c-cap"><cite.class="file">call_
7a660 6d 61 6c 6c 6f 63 5f 69 6e 5f 63 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e malloc_in_c.c</cite></figcaption
7a680 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 2f ><pre><code><span.class="line">/
7a6a0 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 6f 72 20 /.malloc.prototype.included.for.
7a6c0 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 reference</span>.<span.class="li
7a6e0 6e 65 22 3e 76 6f 69 64 20 2a 6d 61 6c 6c 6f 63 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 3b 3c 2f ne">void.*malloc(size_t.size);</
7a700 73 70 61 6e 3e 0a 3c 73 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>
7a720 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 72 75 63 74 20 46 6f 6f 20 2a .<span.class="line">struct.Foo.*
7a740 64 6f 5f 61 5f 74 68 69 6e 67 28 76 6f 69 64 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 do_a_thing(void).{</span>.<span.
7a760 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 68 61 72 20 2a 70 74 72 20 3d 20 6d 61 6c class="line">....char.*ptr.=.mal
7a780 6c 6f 63 28 31 32 33 34 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c loc(1234);</span>.<span.class="l
7a7a0 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 70 74 72 29 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 3c ine">....if.(!ptr).return.NULL;<
7a7c0 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....//
7a7e0 20 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 22 3e 7d ....</span>.<span.class="line">}
7a800 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 </span></code></pre></figure>...
7a820 20 20 20 20 3c 70 3e 5a 69 67 20 63 6f 64 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ....<p>Zig.code</p>.......<figur
7a840 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
7a860 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 6c 6c 5f 6d 61 6c 6c 6f 63 5f 66 72 6f ite.class="file">call_malloc_fro
7a880 6d 5f 7a 69 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 m_zig.zig</cite></figcaption><pr
7a8a0 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
7a8c0 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 6c 6c 6f 63 20 70 .class="tok-comment">//.malloc.p
7a8e0 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 3c rototype.included.for.reference<
7a900 2f 73 70 61 6e 3e 3c 2f 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"
7a920 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 73 70 ><span.class="tok-kw">extern</sp
7a940 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
7a960 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 6c 6c 6f 63 3c 2f n>.<span.class="tok-fn">malloc</
7a980 73 70 61 6e 3e 28 73 69 7a 65 3a 20 73 69 7a 65 5f 74 29 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 span>(size:.size_t).?*<span.clas
7a9a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c s="tok-type">u8</span>;</span>.<
7a9c0 73 70 61 6e 20 63 6c 61 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.
7a9e0 63 6c 61 73 73 3d 22 6c 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
7aa00 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"
7aa20 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e >doAThing</span>().?*Foo.{</span
7aa40 3e 0a 3c 73 70 61 6e 20 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
7aa60 6c 61 73 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.=
7aa80 20 6d 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .malloc(<span.class="tok-number"
7aaa0 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >1234</span>).<span.class="tok-k
7aac0 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">orelse</span>.<span.class="to
7aae0 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=
7ab00 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 3c "tok-null">null</span>;</span>.<
7ab20 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 74 72 3b 20 3c span.class="line">...._.=.ptr;.<
7ab40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c span.class="tok-comment">//....<
7ab60 2f 73 70 61 6e 3e 3c 2f 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"
7ab80 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>.
7aba0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 48 65 72 65 2c 20 5a 69 67 20 69 73 20 61 ......<p>.........Here,.Zig.is.a
7abc0 74 20 6c 65 61 73 74 20 61 73 20 63 6f 6e 76 65 6e 69 65 6e 74 2c 20 69 66 20 6e 6f 74 20 6d 6f t.least.as.convenient,.if.not.mo
7abe0 72 65 2c 20 74 68 61 6e 20 43 2e 20 41 6e 64 2c 20 74 68 65 20 74 79 70 65 20 6f 66 20 22 70 74 re,.than.C..And,.the.type.of."pt
7ac00 72 22 0a 20 20 20 20 20 20 20 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d r".........is.<code><span.class=
7ac20 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 "line">*<span.class="tok-type">u
7ac40 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 3c 65 6d 3e 6e 6f 74 3c 2f 8</span></span></code>.<em>not</
7ac60 65 6d 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 3f 2a 3c em>.<code><span.class="line">?*<
7ac80 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 3c span.class="tok-type">u8</span><
7aca0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 /span></code>..The.<code><span.c
7acc0 6c 61 73 73 3d 22 6c 69 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"
7ace0 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 >orelse</span></span></code>.key
7ad00 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 77 72 61 70 70 word.....................unwrapp
7ad20 65 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 20 61 6e 64 20 74 68 65 72 65 66 6f ed.the.optional.type.and.therefo
7ad40 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 70 74 72 3c re.<code><span.class="line">ptr<
7ad60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 /span></code>.is.guaranteed.to.b
7ad80 65 20 6e 6f 6e 2d 6e 75 6c 6c 20 65 76 65 72 79 77 68 65 72 65 0a 20 20 20 20 20 20 20 20 69 74 e.non-null.everywhere.........it
7ada0 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 .is.used.in.the.function........
7adc0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 </p>.......<p>.........The.other
7ade0 20 66 6f 72 6d 20 6f 66 20 63 68 65 63 6b 69 6e 67 20 61 67 61 69 6e 73 74 20 4e 55 4c 4c 20 79 .form.of.checking.against.NULL.y
7ae00 6f 75 20 6d 69 67 68 74 20 73 65 65 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 ou.might.see.looks.like.this:...
7ae20 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
7ae40 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 on.class="c-cap"><cite.class="fi
7ae60 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f 69 6e 5f 63 2e 63 3c 2f 63 69 74 65 3e 3c le">checking_null_in_c.c</cite><
7ae80 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
7aea0 73 73 3d 22 6c 69 6e 65 22 3e 76 6f 69 64 20 64 6f 5f 61 5f 74 68 69 6e 67 28 73 74 72 75 63 74 ss="line">void.do_a_thing(struct
7aec0 20 46 6f 6f 20 2a 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 .Foo.*foo).{</span>.<span.class=
7aee0 22 6c 69 6e 65 22 3e 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 "line">....//.do.some.stuff</spa
7af00 6e 3e 0a 3c 73 70 61 6e 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
7af20 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 66 6f 6f 29 20 7b 3c pan.class="line">....if.(foo).{<
7af40 2f 73 70 61 6e 3e 0a 3c 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">......
7af60 20 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 5f 77 69 74 68 5f 66 6f 6f 28 66 6f 6f 29 3b 3c 2f 73 ..do_something_with_foo(foo);</s
7af80 70 61 6e 3e 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
7afa0 70 61 6e 3e 0a 3c 73 70 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>.
7afc0 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 6d <span.class="line">....//.do.som
7afe0 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 65 e.stuff</span>.<span.class="line
7b000 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>
7b020 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 20 79 6f 75 20 63 61 .......<p>.........In.Zig.you.ca
7b040 6e 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 3a 0a 20 20 20 n.accomplish.the.same.thing:....
7b060 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
7b080 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
7b0a0 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f 69 6e 5f 7a 69 67 2e 7a 69 67 3c 2f 63 ile">checking_null_in_zig.zig</c
7b0c0 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
7b0e0 6e 20 63 6c 61 73 73 3d 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-
7b100 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.Foo.=.<span.cla
7b120 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 ss="tok-kw">struct</span>{};</sp
7b140 61 6e 3e 0a 3c 73 70 61 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
7b160 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
7b180 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 46 6f 6f 3c 2f 73 s="tok-fn">doSomethingWithFoo</s
7b1a0 70 61 6e 3e 28 66 6f 6f 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>(foo:.*Foo).<span.class="tok
7b1c0 2d 74 79 70 65 22 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 -type">void</span>.{._.=.foo;.}<
7b1e0 2f 73 70 61 6e 3e 0a 3c 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
7b200 3e 0a 3c 73 70 61 6e 20 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
7b220 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=
7b240 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 6f 70 74 69 6f 6e 61 "tok-fn">doAThing</span>(optiona
7b260 6c 5f 66 6f 6f 3a 20 3f 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 l_foo:.?*Foo).<span.class="tok-t
7b280 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.
7b2a0 63 6c 61 73 73 3d 22 6c 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
7b2c0 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
7b2e0 6e 3e 3c 2f 73 70 61 6e 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
7b300 70 61 6e 3e 0a 3c 73 70 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
7b320 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 70 74 69 n.class="tok-kw">if</span>.(opti
7b340 6f 6e 61 6c 5f 66 6f 6f 29 20 7c 66 6f 6f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 onal_foo).|foo|.{</span>.<span.c
7b360 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 lass="line">......doSomethingWit
7b380 68 46 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 hFoo(foo);</span>.<span.class="l
7b3a0 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
7b3c0 69 6e 65 22 3e 3c 2f 73 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">
7b3e0 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">//
7b400 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .do.some.stuff</span></span>.<sp
7b420 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><
7b440 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 4f /pre></figure>.......<p>.......O
7b460 6e 63 65 20 61 67 61 69 6e 2c 20 74 68 65 20 6e 6f 74 61 62 6c 65 20 74 68 69 6e 67 20 68 65 72 nce.again,.the.notable.thing.her
7b480 65 20 69 73 20 74 68 61 74 20 69 6e 73 69 64 65 20 74 68 65 20 69 66 20 62 6c 6f 63 6b 2c 0a 20 e.is.that.inside.the.if.block,..
7b4a0 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 66 6f .....<code><span.class="line">fo
7b4c0 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 20 o</span></code>.is.no.longer.an.
7b4e0 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2c 20 69 74 20 69 73 20 61 20 70 6f 69 6e 74 65 optional.pointer,.it.is.a.pointe
7b500 72 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 r,.which.......cannot.be.null...
7b520 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 4f 6e 65 20 62 65 .....</p>.......<p>.......One.be
7b540 6e 65 66 69 74 20 74 6f 20 74 68 69 73 20 69 73 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 73 20 nefit.to.this.is.that.functions.
7b560 77 68 69 63 68 20 74 61 6b 65 20 70 6f 69 6e 74 65 72 73 20 61 73 20 61 72 67 75 6d 65 6e 74 73 which.take.pointers.as.arguments
7b580 20 63 61 6e 0a 20 20 20 20 20 20 62 65 20 61 6e 6e 6f 74 61 74 65 64 20 77 69 74 68 20 74 68 65 .can.......be.annotated.with.the
7b5a0 20 22 6e 6f 6e 6e 75 6c 6c 22 20 61 74 74 72 69 62 75 74 65 20 2d 20 3c 63 6f 64 65 3e 5f 5f 61 ."nonnull".attribute.-.<code>__a
7b5c0 74 74 72 69 62 75 74 65 5f 5f 28 28 6e 6f 6e 6e 75 6c 6c 29 29 3c 2f 63 6f 64 65 3e 20 69 6e 0a ttribute__((nonnull))</code>.in.
7b5e0 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
7b600 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2d 34 2e 30 2e 30 2f 67 63 63 2f 46 75 6e 63 rg/onlinedocs/gcc-4.0.0/gcc/Func
7b620 74 69 6f 6e 2d 41 74 74 72 69 62 75 74 65 73 2e 68 74 6d 6c 22 3e 47 43 43 3c 2f 61 3e 2e 0a 20 tion-Attributes.html">GCC</a>...
7b640 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 .....The.optimizer.can.sometimes
7b660 20 6d 61 6b 65 20 62 65 74 74 65 72 20 64 65 63 69 73 69 6f 6e 73 20 6b 6e 6f 77 69 6e 67 20 74 .make.better.decisions.knowing.t
7b680 68 61 74 20 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 63 61 6e 6e hat.pointer.arguments.......cann
7b6a0 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 68 33 ot.be.null........</p>.......<h3
7b6c0 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 .id="Optional-Type"><a.href="nav
7b6e0 2e 78 68 74 6d 6c 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e .xhtml#toc-Optional-Type">Option
7b700 61 6c 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d al.Type</a>.<a.class="hdr".href=
7b720 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 "#Optional-Type">..</a></h3>....
7b740 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 73 20 63 72 65 61 74 65 64 20 62 79 ....<p>An.optional.is.created.by
7b760 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 6c 69 6e 65 .putting.<code><span.class="line
7b780 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 66 20 61 20 ">?</span></code>.in.front.of.a.
7b7a0 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 6d 65 0a 20 type..You.can.use.compile-time..
7b7c0 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 65 20 63 68 .....reflection.to.access.the.ch
7b7e0 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 0a 20 20 20 ild.type.of.an.optional:</p>....
7b800 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
7b820 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6f g-cap"><cite.class="file">test_o
7b840 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 63 61 70 74 ptional_type.zig</cite></figcapt
7b860 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
7b880 22 3e 3c 73 70 61 6e 20 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
7b8a0 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
7b8c0 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
7b8e0 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
7b900 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
7b920 20 63 6c 61 73 73 3d 22 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
7b940 73 3d 22 6c 69 6e 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
7b960 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">
7b980 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e &quot;optional.type&quot;</span>
7b9a0 20 7b 3c 2f 73 70 61 6e 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">...
7b9c0 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 44 65 .<span.class="tok-comment">//.De
7b9e0 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 20 66 72 6f clare.an.optional.and.coerce.fro
7ba00 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 63 6c 61 73 m.null:</span></span>.<span.clas
7ba20 73 3d 22 6c 69 6e 65 22 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
7ba40 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 73 73 3d 22 ">var</span>.foo:.?<span.class="
7ba60 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
7ba80 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
7baa0 3e 0a 3c 73 70 61 6e 20 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
7bac0 61 6e 20 63 6c 61 73 73 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=
7bae0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 63 68 69 "tok-comment">//.Coerce.from.chi
7bb00 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 3e 3c 2f 73 ld.type.of.an.optional</span></s
7bb20 70 61 6e 3e 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 20 pan>.<span.class="line">....foo.
7bb40 3d 20 3c 73 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<
7bb60 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
7bb80 22 3e 3c 2f 73 70 61 6e 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">...
7bba0 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 55 73 .<span.class="tok-comment">//.Us
7bbc0 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 e.compile-time.reflection.to.acc
7bbe0 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 74 69 6f 6e ess.the.child.type.of.the.option
7bc00 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 73 3d 22 6c al:</span></span>.<span.class="l
7bc20 69 6e 65 22 3e 20 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
7bc40 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
7bc60 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
7bc80 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>(
7bca0 3c 73 70 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
7bcc0 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 64 20 3d 3d f</span>(foo)).Optional.child.==
7bce0 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
7bd00 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">}
7bd20 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
7bd40 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
7bd60 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>
7bd80 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
7bda0 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 62 64 3e 3c st.test_optional_type.zig</kbd><
7bdc0 2f 73 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
7bde0 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 2e 2e 2e 20 st.&quot;optional.type&quot;....
7be00 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
7be20 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><
7be40 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 /pre></figure>..............<h3.
7be60 69 64 3d 22 6e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 id="null"><a.href="nav.xhtml#toc
7be80 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 -null">null</a>.<a.class="hdr".h
7bea0 72 65 66 3d 22 23 6e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ref="#null">..</a></h3>........<
7bec0 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 p>.......Just.like.<a.href="#und
7bee0 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 efined">undefined</a>,.<code><sp
7bf00 61 6e 20 63 6c 61 73 73 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
7bf20 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -null">null</span></span></code>
7bf40 20 68 61 73 20 69 74 73 20 6f 77 6e 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 20 6f 6e 6c 79 20 .has.its.own.type,.and.the.only.
7bf60 77 61 79 20 74 6f 20 75 73 65 20 69 74 20 69 73 20 74 6f 0a 20 20 20 20 20 20 63 61 73 74 20 69 way.to.use.it.is.to.......cast.i
7bf80 74 20 74 6f 20 61 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 t.to.a.different.type:.......</p
7bfa0 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
7bfc0 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
7bfe0 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>
7c000 3c 63 6f 64 65 3e 3c 73 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
7c020 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f lass="tok-kw">const</span>.optio
7c040 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 nal_value:.?<span.class="tok-typ
7c060 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
7c080 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -null">null</span>;</span></code
7c0a0 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
7c0c0 33 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3.id="Optional-Pointers"><a.href
7c0e0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 ="nav.xhtml#toc-Optional-Pointer
7c100 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 s">Optional.Pointers</a>.<a.clas
7c120 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 s="hdr".href="#Optional-Pointers
7c140 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f ">..</a></h3>........<p>An.optio
7c160 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 nal.pointer.is.guaranteed.to.be.
7c180 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 61 20 70 6f 69 6e 74 65 72 2e 20 54 68 65 20 the.same.size.as.a.pointer..The.
7c1a0 3c 63 6f 64 65 3e 3c 73 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
7c1c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-null">null</span></spa
7c1e0 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 n></code>.of.......the.optional.
7c200 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 61 64 64 72 65 73 73 20 30 2e 3c 2f is.guaranteed.to.be.address.0.</
7c220 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
7c240 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">
7c260 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e test_optional_pointer.zig</cite>
7c280 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
7c2a0 61 73 73 3d 22 6c 69 6e 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">
7c2c0 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 73 const</span>.expect.=.<span.clas
7c2e0 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>(<
7c300 73 70 61 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
7c320 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 70 uot;</span>).testing.expect;</sp
7c340 61 6e 3e 0a 3c 73 70 61 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>.<
7c360 73 70 61 6e 20 63 6c 61 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
7c380 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="
7c3a0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 tok-str">&quot;optional.pointers
7c3c0 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
7c3e0 73 73 3d 22 6c 69 6e 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
7c400 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 50 6f 69 6e 74 65 72 73 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 omment">//.Pointers.cannot.be.nu
7c420 6c 6c 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 ll..If.you.want.a.null.pointer,.
7c440 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c use.the.optional</span></span>.<
7c460 73 70 61 6e 20 63 6c 61 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
7c480 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 72 65 66 69 78 20 60 3f 60 20 74 6f s="tok-comment">//.prefix.`?`.to
7c4a0 20 6d 61 6b 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 6f 70 74 69 6f 6e 61 6c 2e .make.the.pointer.type.optional.
7c4c0 3c 2f 73 70 61 6e 3e 3c 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
7c4e0 22 3e 20 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</
7c500 73 70 61 6e 3e 20 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 span>.ptr:.?*<span.class="tok-ty
7c520 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
7c540 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
7c560 6e 20 63 6c 61 73 73 3d 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
7c580 73 73 3d 22 6c 69 6e 65 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
7c5a0 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
7c5c0 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
7c5e0 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>.<
7c600 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 20 3d 20 26 61 6d 70 span.class="line">....ptr.=.&amp
7c620 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 3e 3c 2f ;x;</span>.<span.class="line"></
7c640 73 70 61 6e 3e 0a 3c 73 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
7c660 61 6e 20 63 6c 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
7c680 65 63 74 28 70 74 72 2e 3f 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ect(ptr.?.*.==.<span.class="tok-
7c6a0 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.
7c6c0 63 6c 61 73 73 3d 22 6c 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
7c6e0 3d 22 6c 69 6e 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
7c700 6d 65 6e 74 22 3e 2f 2f 20 4f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 74 ment">//.Optional.pointers.are.t
7c720 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 73 2c he.same.size.as.normal.pointers,
7c740 20 62 65 63 61 75 73 65 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .because.pointer</span></span>.<
7c760 73 70 61 6e 20 63 6c 61 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
7c780 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 30 20 69 73 20 75 73 s="tok-comment">//.value.0.is.us
7c7a0 65 64 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ed.as.the.null.value.</span></sp
7c7c0 61 6e 3e 0a 3c 73 70 61 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
7c7e0 20 63 6c 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
7c800 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 7a t(<span.class="tok-builtin">@siz
7c820 65 4f 66 3c 2f 73 70 61 6e 3e 28 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 eOf</span>(?*<span.class="tok-ty
7c840 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">i32</span>).==.<span.class="
7c860 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 2a 3c 73 70 tok-builtin">@sizeOf</span>(*<sp
7c880 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 29 an.class="tok-type">i32</span>))
7c8a0 3b 3c 2f 73 70 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
7c8c0 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
7c8e0 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">
7c900 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
7c920 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.
7c940 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c test_optional_pointer.zig</kbd><
7c960 2f 73 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
7c980 73 74 20 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b st.&quot;optional.pointers&quot;
7c9a0 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"
7c9c0 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
7c9e0 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>..............
7ca00 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 61 73 74 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d .......<h2.id="Casting"><a.href=
7ca20 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 61 73 74 69 6e 67 22 3e 43 61 73 74 69 6e 67 3c "nav.xhtml#toc-Casting">Casting<
7ca40 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 69 6e /a>.<a.class="hdr".href="#Castin
7ca60 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 g">..</a></h2>........<p>.......
7ca80 41 20 3c 73 74 72 6f 6e 67 3e 74 79 70 65 20 63 61 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 63 6f 6e A.<strong>type.cast</strong>.con
7caa0 76 65 72 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f verts.a.value.of.one.type.to.ano
7cac0 74 68 65 72 2e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 ther........Zig.has.<a.href="#Ty
7cae0 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 66 pe-Coercion">Type.Coercion</a>.f
7cb00 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 6b 6e 6f 77 6e 20 74 6f or.conversions.that.are.known.to
7cb20 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 61 66 65 20 61 6e 64 20 75 6e 61 6d 62 69 67 75 .be.completely.safe.and.unambigu
7cb40 6f 75 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 ous,.......and.<a.href="#Explici
7cb60 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 20 66 6f 72 20 t-Casts">Explicit.Casts</a>.for.
7cb80 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 6f 6e 65 20 77 6f 75 6c 64 20 6e 6f 74 20 77 conversions.that.one.would.not.w
7cba0 61 6e 74 20 74 6f 20 68 61 70 70 65 6e 20 6f 6e 20 61 63 63 69 64 65 6e 74 2e 0a 20 20 20 20 20 ant.to.happen.on.accident.......
7cbc0 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 74 68 69 72 64 20 6b 69 6e 64 20 6f 66 20 74 .There.is.also.a.third.kind.of.t
7cbe0 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 63 61 6c 6c 65 64 20 3c 61 20 68 72 65 66 3d 22 23 ype.conversion.called.<a.href="#
7cc00 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 20 Peer-Type-Resolution">Peer.Type.
7cc20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 0a 20 20 20 20 20 20 74 68 65 20 63 61 73 Resolution</a>.for.......the.cas
7cc40 65 20 77 68 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6d 75 73 74 20 62 65 20 64 65 63 e.when.a.result.type.must.be.dec
7cc60 69 64 65 64 20 67 69 76 65 6e 20 6d 75 6c 74 69 70 6c 65 20 6f 70 65 72 61 6e 64 20 74 79 70 65 ided.given.multiple.operand.type
7cc80 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 s........</p>.......<h3.id="Type
7cca0 2d 43 6f 65 72 63 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f -Coercion"><a.href="nav.xhtml#to
7ccc0 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</
7cce0 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
7cd00 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>..
7cd20 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
7cd40 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
7cd60 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>.
7cd80 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=
7cda0 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
7cdc0 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
7cde0 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">
7ce00 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>
7ce20 20 3c 73 70 61 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
7ce40 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
7ce60 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
7ce80 61 73 73 3d 22 6c 69 6e 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-
7cea0 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
7cec0 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
7cee0 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>.<
7cf00 73 70 61 6e 20 63 6c 61 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
7cf20 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
7cf40 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;<
7cf60 2f 73 70 61 6e 3e 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">...._.
7cf80 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">}
7cfa0 3c 2f 73 70 61 6e 3e 0a 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
7cfc0 6e 3e 0a 3c 73 70 61 6e 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
7cfe0 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
7d000 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
7d020 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>.{<
7d040 2f 73 70 61 6e 3e 0a 3c 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
7d060 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:
7d080 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
7d0a0 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</
7d0c0 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"
7d0e0 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=
7d100 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
7d120 65 22 3e 3c 2f 73 70 61 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
7d140 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
7d160 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:.
7d180 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
7d1a0 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</
7d1c0 73 70 61 6e 3e 20 7b 3c 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
7d1e0 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=
7d200 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
7d220 65 22 3e 3c 2f 73 70 61 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
7d240 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>.<
7d260 73 70 61 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.
7d280 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
7d2a0 61 6e 3e 20 7b 3c 2f 73 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">
7d2c0 20 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
7d2e0 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
7d300 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
7d320 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=
7d340 22 6c 69 6e 65 22 3e 20 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">
7d360 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-
7d380 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=
7d3a0 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
7d3c0 3e 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;<
7d3e0 2f 73 70 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
7d400 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>
7d420 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
7d440 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
7d460 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
7d480 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
7d4a0 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
7d4c0 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
7d4e0 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
7d500 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
7d520 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;....
7d540 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
7d560 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.
7d580 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
7d5a0 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
7d5c0 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>.
7d5e0 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
7d600 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
7d620 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
7d640 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
7d660 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
7d680 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
7d6a0 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
7d6c0 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>.
7d6e0 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
7d700 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 6e 61 76 cter-Qualification"><a.href="nav
7d720 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 .xhtml#toc-Type-Coercion-Stricte
7d740 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 r-Qualification">Type.Coercion:.
7d760 53 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c Stricter.Qualification</a>.<a.cl
7d780 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 ass="hdr".href="#Type-Coercion-S
7d7a0 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 tricter-Qualification">..</a></h
7d7c0 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 56 61 6c 75 65 73 20 77 68 69 63 68 4>........<p>.......Values.which
7d7e0 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 74 .have.the.same.representation.at
7d800 20 72 75 6e 74 69 6d 65 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 69 6e 63 72 65 61 73 65 .runtime.can.be.cast.to.increase
7d820 20 74 68 65 20 73 74 72 69 63 74 6e 65 73 73 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 71 75 61 .the.strictness.......of.the.qua
7d840 6c 69 66 69 65 72 73 2c 20 6e 6f 20 6d 61 74 74 65 72 20 68 6f 77 20 6e 65 73 74 65 64 20 74 68 lifiers,.no.matter.how.nested.th
7d860 65 20 71 75 61 6c 69 66 69 65 72 73 20 61 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 e.qualifiers.are:.......</p>....
7d880 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
7d8a0 6e 20 63 6c 61 73 73 3d 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-
7d8c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d kw">const</span></span></code>.-
7d8e0 20 6e 6f 6e 2d 63 6f 6e 73 74 20 74 6f 20 63 6f 6e 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f .non-const.to.const.is.allowed</
7d900 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
7d920 61 73 73 3d 22 6c 69 6e 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">
7d940 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 volatile</span></span></code>.-.
7d960 6e 6f 6e 2d 76 6f 6c 61 74 69 6c 65 20 74 6f 20 76 6f 6c 61 74 69 6c 65 20 69 73 20 61 6c 6c 6f non-volatile.to.volatile.is.allo
7d980 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 wed</li>...........<li><code><sp
7d9a0 61 6e 20 63 6c 61 73 73 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
7d9c0 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 20 -kw">align</span></span></code>.
7d9e0 2d 20 62 69 67 67 65 72 20 74 6f 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 69 73 -.bigger.to.smaller.alignment.is
7da00 20 61 6c 6c 6f 77 65 64 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 .allowed.</li>...........<li><a.
7da20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 74 href="#Error-Set-Type">error.set
7da40 73 3c 2f 61 3e 20 74 6f 20 73 75 70 65 72 73 65 74 73 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c s</a>.to.supersets.is.allowed</l
7da60 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 54 i>.......</ul>.......<p>.......T
7da80 68 65 73 65 20 63 61 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 hese.casts.are.no-ops.at.runtime
7daa0 20 73 69 6e 63 65 20 74 68 65 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 .since.the.value.representation.
7dac0 64 6f 65 73 20 6e 6f 74 20 63 68 61 6e 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 does.not.change........</p>.....
7dae0 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
7db00 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 5f 6f 70 5f 63 -cap"><cite.class="file">no_op_c
7db20 61 73 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 asts.zig</cite></figcaption><pre
7db40 3e 3c 63 6f 64 65 3e 3c 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.
7db60 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
7db80 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 63 6f 65 72 .class="tok-str">&quot;type.coer
7dba0 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 26 71 75 6f 74 3b cion.-.const.qualification&quot;
7dbc0 3c 2f 73 70 61 6e 3e 20 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
7dbe0 6e 65 22 3e 20 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
7dc00 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.a:.<span.class="tok-type
7dc20 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-
7dc40 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
7dc60 6c 61 73 73 3d 22 6c 69 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
7dc80 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d -kw">var</span>.b:.*<span.class=
7dca0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 3b 3c "tok-type">i32</span>.=.&amp;a;<
7dcc0 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....fo
7dce0 6f 28 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 o(b);</span>.<span.class="line">
7dd00 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
7dd20 61 6e 3e 0a 3c 73 70 61 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
7dd40 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
7dd60 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 5f 3a 20 2a 3c 73 70 61 6e 20 s="tok-fn">foo</span>(_:.*<span.
7dd80 63 6c 61 73 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
7dda0 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 3c n.class="tok-type">i32</span>).<
7ddc0 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
7dde0 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 >.{}</span></code></pre></figure
7de00 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
7de20 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
7de40 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
7de60 67 20 74 65 73 74 20 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 g.test.no_op_casts.zig</kbd></sp
7de80 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.
7dea0 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c &quot;type.coercion.-.const.qual
7dec0 69 66 69 63 61 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 73 70 ification&quot;....OK</span>.<sp
7dee0 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
7df00 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
7df20 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 70 >.......<p>.......In.addition,.p
7df40 6f 69 6e 74 65 72 73 20 63 6f 65 72 63 65 20 74 6f 20 63 6f 6e 73 74 20 6f 70 74 69 6f 6e 61 6c ointers.coerce.to.const.optional
7df60 20 70 6f 69 6e 74 65 72 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .pointers:.......</p>.......<fig
7df80 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">
7dfa0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 <cite.class="file">pointer_coerc
7dfc0 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 e_const_optional.zig</cite></fig
7dfe0 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="
7e000 6c 69 6e 65 22 3e 3c 73 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
7e020 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
7e040 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
7e060 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
7e080 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">
7e0a0 3c 73 70 61 6e 20 63 6c 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
7e0c0 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;</
7e0e0 73 70 61 6e 3e 0a 3c 73 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
7e100 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d lass="tok-kw">const</span>.mem.=
7e120 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .std.mem;</span>.<span.class="li
7e140 6e 65 22 3e 3c 2f 73 70 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"><
7e160 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>.
7e180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 73 74 <span.class="tok-str">&quot;cast
7e1a0 20 2a 5b 31 5d 5b 2a 5d 63 6f 6e 73 74 20 75 38 20 74 6f 20 5b 2a 5d 63 6f 6e 73 74 20 3f 5b 2a .*[1][*]const.u8.to.[*]const.?[*
7e1c0 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ]const.u8&quot;</span>.{</span>.
7e1e0 3c 73 70 61 6e 20 63 6c 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
7e200 73 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 69 6e 64 6f 77 5f ss="tok-kw">const</span>.window_
7e220 6e 61 6d 65 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 name.=.[<span.class="tok-number"
7e240 3e 31 3c 2f 73 70 61 6e 3e 5d 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >1</span>][*]<span.class="tok-kw
7e260 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-
7e280 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b type">u8</span>{<span.class="tok
7e2a0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 -str">&quot;window.name&quot;</s
7e2c0 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 22 pan>};</span>.<span.class="line"
7e2e0 3e 20 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<
7e300 2f 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.x:.[*]<span.class="tok-kw
7e320 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.?[*]<span.class="
7e340 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
7e360 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 77 69 6e ="tok-type">u8</span>.=.&amp;win
7e380 64 6f 77 5f 6e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 dow_name;</span>.<span.class="li
7e3a0 6e 65 22 3e 20 20 20 20 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
7e3c0 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 61 </span>.expect(mem.eql(<span.cla
7e3e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 65 6d ss="tok-type">u8</span>,.std.mem
7e400 2e 73 6c 69 63 65 54 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .sliceTo(<span.class="tok-builti
7e420 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 n">@ptrCast</span>([*:<span.clas
7e440 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c s="tok-number">0</span>]<span.cl
7e460 61 73 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.
7e480 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 5b 3c 73 class="tok-type">u8</span>,.x[<s
7e4a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
7e4c0 2e 3f 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c .?),.<span.class="tok-number">0<
7e4e0 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 /span>),.<span.class="tok-str">&
7e500 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b quot;window.name&quot;</span>));
7e520 3c 2f 73 70 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
7e540 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
7e560 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
7e580 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
7e5a0 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 70 n.class="line">$.<kbd>zig.test.p
7e5c0 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a 69 67 ointer_coerce_const_optional.zig
7e5e0 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"
7e600 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 6f 6e 73 >1/1.test.&quot;cast.*[1][*]cons
7e620 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 26 71 75 t.u8.to.[*]const.?[*]const.u8&qu
7e640 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
7e660 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>.<
7e680 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>...........
7e6a0 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 49 6e 74 65 67 65 72 ...<h4.id="Type-Coercion-Integer
7e6c0 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 -and-Float-Widening"><a.href="na
7e6e0 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 v.xhtml#toc-Type-Coercion-Intege
7e700 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 54 79 70 65 20 43 6f 65 72 63 r-and-Float-Widening">Type.Coerc
7e720 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 6c 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c ion:.Integer.and.Float.Widening<
7e740 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
7e760 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
7e780 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ng">..</a></h4>........<p>......
7e7a0 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 .<a.href="#Integers">Integers</a
7e7c0 3e 20 63 6f 65 72 63 65 20 74 6f 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 77 68 69 63 68 20 >.coerce.to.integer.types.which.
7e7e0 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 66 20 74 68 65 can.represent.every.value.of.the
7e800 20 6f 6c 64 20 74 79 70 65 2c 20 61 6e 64 20 6c 69 6b 65 77 69 73 65 0a 20 20 20 20 20 20 3c 61 .old.type,.and.likewise.......<a
7e820 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 63 6f 65 72 63 .href="#Floats">Floats</a>.coerc
7e840 65 20 74 6f 20 66 6c 6f 61 74 20 74 79 70 65 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 e.to.float.types.which.can.repre
7e860 73 65 6e 74 20 65 76 65 72 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 sent.every.value.of.the.old.type
7e880 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
7e8a0 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
7e8c0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e ss="file">test_integer_widening.
7e8e0 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
7e900 65 3e 3c 73 70 61 6e 20 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
7e920 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
7e940 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</
7e960 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
7e980 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
7e9a0 6e 20 63 6c 61 73 73 3d 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-
7e9c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e kw">const</span>.builtin.=.<span
7e9e0 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
7ea00 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;
7ea20 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 builtin&quot;</span>);</span>.<s
7ea40 70 61 6e 20 63 6c 61 73 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
7ea60 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
7ea80 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
7eaa0 73 73 3d 22 6c 69 6e 65 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
7eac0 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 70 61 6e onst</span>.mem.=.std.mem;</span
7eae0 3e 0a 3c 73 70 61 6e 20 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
7eb00 61 6e 20 63 6c 61 73 73 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
7eb20 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
7eb40 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 k-str">&quot;integer.widening&qu
7eb60 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=
7eb80 22 6c 69 6e 65 22 3e 20 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">
7eba0 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 74 var</span>.a:.<span.class="tok-t
7ebc0 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
7ebe0 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">250</span>;</span>.<sp
7ec00 61 6e 20 63 6c 61 73 73 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=
7ec20 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
7ec40 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 2f 73 ss="tok-type">u16</span>.=.a;</s
7ec60 70 61 6e 3e 0a 3c 73 70 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
7ec80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c n.class="tok-kw">var</span>.c:.<
7eca0 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>
7ecc0 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .=.b;</span>.<span.class="line">
7ece0 20 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
7ed00 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 3e 75 36 an>.d:.<span.class="tok-type">u6
7ed20 34 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 4</span>.=.c;</span>.<span.class
7ed40 3d 22 6c 69 6e 65 22 3e 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"
7ed60 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.e:.<span.class="tok-
7ed80 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 type">u64</span>.=.d;</span>.<sp
7eda0 61 6e 20 63 6c 61 73 73 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=
7edc0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.f:.<span.cla
7ede0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 65 3b 3c 2f ss="tok-type">u128</span>.=.e;</
7ee00 73 70 61 6e 3e 0a 3c 73 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
7ee20 61 6e 20 63 6c 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
7ee40 65 63 74 28 66 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ect(f.==.a);</span>.<span.class=
7ee60 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
7ee80 65 22 3e 3c 2f 73 70 61 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
7eea0 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>.<
7eec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 span.class="tok-str">&quot;impli
7eee0 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 cit.unsigned.integer.to.signed.i
7ef00 6e 74 65 67 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nteger&quot;</span>.{</span>.<sp
7ef20 61 6e 20 63 6c 61 73 73 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=
7ef40 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
7ef60 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.
7ef80 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 6e 3e 3b 3c 2f class="tok-number">250</span>;</
7efa0 73 70 61 6e 3e 0a 3c 73 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
7efc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 an.class="tok-kw">var</span>.b:.
7efe0 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 73 70 61 6e <span.class="tok-type">i16</span
7f000 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 6e 65 22 >.=.a;</span>.<span.class="line"
7f020 3e 20 20 20 20 3c 73 70 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
7f040 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 6f pan>.expect(b.==.<span.class="to
7f060 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">250</span>);</span>.<s
7f080 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.
7f0a0 63 6c 61 73 73 3d 22 6c 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
7f0c0 3d 22 6c 69 6e 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
7f0e0 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">&
7f100 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e quot;float.widening&quot;</span>
7f120 20 7b 3c 2f 73 70 61 6e 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">...
7f140 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f .<span.class="tok-comment">//.No
7f160 74 65 3a 20 74 68 65 72 65 20 69 73 20 61 6e 20 6f 70 65 6e 20 69 73 73 75 65 20 70 72 65 76 65 te:.there.is.an.open.issue.preve
7f180 6e 74 69 6e 67 20 74 68 69 73 20 66 72 6f 6d 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 61 61 72 63 68 nting.this.from.working.on.aarch
7f1a0 36 34 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 64:</span></span>.<span.class="l
7f1c0 69 6e 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
7f1e0 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 t">//.https://github.com/ziglang
7f200 2f 7a 69 67 2f 69 73 73 75 65 73 2f 33 32 38 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c /zig/issues/3282</span></span>.<
7f220 73 70 61 6e 20 63 6c 61 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
7f240 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 s="tok-kw">if</span>.(builtin.ta
7f260 72 67 65 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 61 61 72 63 68 36 34 29 20 3c 73 70 61 6e rget.cpu.arch.==..aarch64).<span
7f280 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
7f2a0 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>.
7f2c0 53 6b 69 70 5a 69 67 54 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d SkipZigTest;</span>.<span.class=
7f2e0 22 6c 69 6e 65 22 3e 3c 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
7f300 22 3e 20 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</
7f320 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.a:.<span.class="tok-type">
7f340 66 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 f16</span>.=.<span.class="tok-nu
7f360 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">12.34</span>;</span>.<span
7f380 20 63 6c 61 73 73 3d 22 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
7f3a0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.b:.<span.class
7f3c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 ="tok-type">f32</span>.=.a;</spa
7f3e0 6e 3e 0a 3c 73 70 61 6e 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.
7f400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 class="tok-kw">var</span>.c:.<sp
7f420 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">f64</span>.=
7f440 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">..
7f460 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
7f480 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 >.d:.<span.class="tok-type">f128
7f4a0 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.=.c;</span>.<span.class=
7f4c0 22 6c 69 6e 65 22 3e 20 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">
7f4e0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e try</span>.expect(d.==.a);</span
7f500 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
7f520 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
7f540 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</
7f560 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
7f580 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 69 6e s="line">$.<kbd>zig.test.test_in
7f5a0 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a teger_widening.zig</kbd></span>.
7f5c0 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 20 26 71 75 6f <span.class="line">1/3.test.&quo
7f5e0 74 3b 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f t;integer.widening&quot;....OK</
7f600 73 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 span>.<span.class="line">2/3.tes
7f620 74 20 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 65 t.&quot;implicit.unsigned.intege
7f640 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 2e 2e 2e 20 4f 4b 3c r.to.signed.integer&quot;....OK<
7f660 2f 73 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 65 /span>.<span.class="line">3/3.te
7f680 73 74 20 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e st.&quot;float.widening&quot;...
7f6a0 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
7f6c0 6c 20 33 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.3.tests.passed.</span>.</samp>
7f6e0 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 34 </pre></figure>..............<h4
7f700 20 69 64 3d 22 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 .id="Type-Coercion-Coercion-Floa
7f720 74 2d 74 6f 2d 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 t-to-Int"><a.href="nav.xhtml#toc
7f740 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
7f760 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 6f 6e 20 46 6c -Int">Type.Coercion:.Coercion.Fl
7f780 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 oat.to.Int</a>.<a.class="hdr".hr
7f7a0 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 2d 46 6c 6f 61 ef="#Type-Coercion-Coercion-Floa
7f7c0 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 20 20 3c 70 3e t-to-Int">..</a></h4>........<p>
7f7e0 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 61 70 70 72 6f .......A.compiler.error.is.appro
7f800 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 75 73 20 65 78 priate.because.this.ambiguous.ex
7f820 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 72 0a 20 20 20 pression.leaves.the.compiler....
7f840 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 65 72 63 69 6f ...two.choices.about.the.coercio
7f860 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 20 20 20 20 20 n........</p>.......<ul>........
7f880 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 73 3d 22 6c 69 .<li>.Cast.<code><span.class="li
7f8a0 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 35 34 2e ne"><span.class="tok-number">54.
7f8c0 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 63 6f 64 65 3e 0</span></span></code>.to.<code>
7f8e0 3c 73 70 61 6e 20 63 6c 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="
7f900 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
7f920 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 3c 63 6f 64 65 3e 3c pan></code>.resulting.in.<code><
7f940 73 70 61 6e 20 63 6c 61 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
7f960 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
7f980 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
7f9a0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f >,.<span.class="tok-number">10</
7f9c0 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 20 69 73 20 63 span>)</span></code>,.which.is.c
7f9e0 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 22 6c 69 6e 65 asted.to.<code><span.class="line
7fa00 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<
7fa20 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 /span>(<span.class="tok-type">f3
7fa40 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 65 2</span>,.<span.class="tok-numbe
7fa60 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 3c 2f 6c 69 3e r">10</span>)</span></code></li>
7fa80 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 70 61 6e 20 63 .........<li>.Cast.<code><span.c
7faa0 6c 61 73 73 3d 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
7fac0 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 20 74 6f 20 3c ber">5</span></span></code>.to.<
7fae0 63 6f 64 65 3e 3c 73 70 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
7fb00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 ass="tok-type">comptime_float</s
7fb20 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 67 20 69 6e 20 pan></span></code>.resulting.in.
7fb40 3c 63 6f 64 65 3e 3c 73 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
7fb60 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
7fb80 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 66 6c pan.class="tok-type">comptime_fl
7fba0 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 6b 2d 6e 75 6d oat</span>,.<span.class="tok-num
7fbc0 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 6f 64 65 3e 2c ber">10.8</span>)</span></code>,
7fbe0 20 77 68 69 63 68 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .which.is.casted.to.<code><span.
7fc00 63 6c 61 73 73 3d 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
7fc20 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
7fc40 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">f32</span>,.<span.class
7fc60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e ="tok-number">10.8</span>)</span
7fc80 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>.......
7fca0 3c 66 69 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
7fcc0 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 3c ap"><cite.class="file">test.zig<
7fce0 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
7fd00 70 61 6e 20 63 6c 61 73 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
7fd20 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 63 6f 65 72 63 k-comment">//.Compile.time.coerc
7fd40 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 2f 73 70 61 6e ion.of.float.to.int</span></span
7fd60 3e 0a 3c 73 70 61 6e 20 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
7fd80 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
7fda0 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 63 61 73 74 20 s="tok-str">&quot;implicit.cast.
7fdc0 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 3e 20 7b 3c 2f to.comptime_int&quot;</span>.{</
7fde0 73 70 61 6e 3e 0a 3c 73 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
7fe00 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 3a 20 an.class="tok-kw">var</span>.f:.
7fe20 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
7fe40 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 34 2e >.=.<span.class="tok-number">54.
7fe60 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 0</span>./.<span.class="tok-numb
7fe80 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">5</span>;</span>.<span.class
7fea0 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 73 70 61 6e 20 ="line">...._.=.f;</span>.<span.
7fec0 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
7fee0 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
7ff00 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
7ff20 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"
7ff40 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><
7ff60 2f 73 70 61 6e 3e 0a 3c 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.
7ff80 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
7ffa0 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 3d 22 74 33 31 ig:3:18:.</span><span.class="t31
7ffc0 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
7ffe0 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 63 61 6e 6e 6f 0_1">float.value.54.000000.canno
80000 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 69 6d 65 5f 69 t.be.coerced.to.type.'comptime_i
80020 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 73 73 3d 22 6c nt'</span></span>.<span.class="l
80040 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 2f 20 35 3b 3c ine">....var.f:.f32.=.54.0./.5;<
80060 2f 73 70 61 6e 3e 0a 3c 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">......
80080 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">^
800a0 3c 2f 73 70 61 6e 3e 3c 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
800c0 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
800e0 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 32 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:3:23:.</span><span.cl
80100 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
80120 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 lass="t0_1">referenced.here</spa
80140 6e 3e 3c 2f 73 70 61 6e 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">...
80160 20 76 61 72 20 66 3a 20 66 33 32 20 3d 20 35 34 2e 30 20 2f 20 35 3b 3c 2f 73 70 61 6e 3e 0a 3c .var.f:.f32.=.54.0./.5;</span>.<
80180 73 70 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">..............
801a0 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
801c0 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
801e0 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 e>..............<h4.id="Type-Coe
80200 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
80220 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f "><a.href="nav.xhtml#toc-Type-Co
80240 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 ercion-Slices-Arrays-and-Pointer
80260 73 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 s">Type.Coercion:.Slices,.Arrays
80280 20 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 .and.Pointers</a>.<a.class="hdr"
802a0 20 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 .href="#Type-Coercion-Slices-Arr
802c0 61 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 ays-and-Pointers">..</a></h4>...
802e0 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="
80300 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
80320 63 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 ce__slices_arrays_and_ptrs.zig</
80340 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
80360 61 6e 20 63 6c 61 73 73 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
80380 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
803a0 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>
803c0 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
803e0 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
80400 73 73 3d 22 6c 69 6e 65 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
80420 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
80440 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
80460 65 22 3e 3c 2f 73 70 61 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
80480 70 61 6e 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 pan.class="tok-comment">//.You.c
804a0 61 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 an.assign.constant.pointers.to.a
804c0 72 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 rrays.to.a.slice.with</span></sp
804e0 61 6e 3e 0a 3c 73 70 61 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
80500 73 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 ss="tok-comment">//.const.modifi
80520 65 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 er.on.the.element.type..Useful.i
80540 6e 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 n.particular.for</span></span>.<
80560 73 70 61 6e 20 63 6c 61 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
80580 6f 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 ok-comment">//.String.literals.<
805a0 2f 73 70 61 6e 3e 3c 2f 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"
805c0 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
805e0 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 2a 63 >.<span.class="tok-str">&quot;*c
80600 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 onst.[N]T.to.[]const.T&quot;</sp
80620 61 6e 3e 20 7b 3c 2f 73 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">
80640 20 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
80660 61 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 an>.x1:.[]<span.class="tok-kw">c
80680 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
806a0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u8</span>.=.<span.class="tok-
806c0 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f str">&quot;hello&quot;</span>;</
806e0 73 70 61 6e 3e 0a 3c 73 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
80700 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 32 3a an.class="tok-kw">var</span>.x2:
80720 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 .[]<span.class="tok-kw">const</s
80740 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</
80760 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e span>.=.&amp;[<span.class="tok-n
80780 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b umber">5</span>]<span.class="tok
807a0 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
807c0 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'h'</span>,.<span.class=
807e0 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-str">'e'</span>,.<span.clas
80800 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-str">'l'</span>,.<span.cl
80820 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-str">'l'</span>,.<span.
80840 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b class="tok-number">111</span>.};
80860 3c 2f 73 70 61 6e 3e 0a 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">....<
80880 73 70 61 6e 20 63 6c 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
808a0 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 74 xpect(std.mem.eql(<span.class="t
808c0 6f 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 ok-type">u8</span>,.x1,.x2));</s
808e0 70 61 6e 3e 0a 3c 73 70 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>.
80900 3c 73 70 61 6e 20 63 6c 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
80920 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 5b 5d 3c 73 70 61 ss="tok-kw">var</span>.y:.[]<spa
80940 6e 20 63 6c 61 73 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
80960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">f32</span>.
80980 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 =.&amp;[<span.class="tok-number"
809a0 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >2</span>]<span.class="tok-type"
809c0 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >f32</span>{.<span.class="tok-nu
809e0 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">1.2</span>,.<span.class="t
80a00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a ok-number">3.4</span>.};</span>.
80a20 3c 73 70 61 6e 20 63 6c 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
80a40 73 73 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 ss="tok-kw">try</span>.expect(y[
80a60 3c 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
80a80 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
80aa0 2e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .2</span>);</span>.<span.class="
80ac0 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
80ae0 22 3e 3c 2f 73 70 61 6e 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
80b00 61 6e 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 an.class="tok-comment">//.Likewi
80b20 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f se,.it.works.when.the.destinatio
80b40 6e 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 n.type.is.an.error.union.</span>
80b60 3c 2f 73 70 61 6e 3e 0a 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
80b80 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
80ba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b n.class="tok-str">&quot;*const.[
80bc0 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 N]T.to.E![]const.T&quot;</span>.
80be0 7b 3c 2f 73 70 61 6e 3e 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">....
80c00 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>.
80c20 78 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 x1:.<span.class="tok-type">anyer
80c40 72 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 ror</span>![]<span.class="tok-kw
80c60 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-
80c80 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u8</span>.=.<span.class="t
80ca0 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 6e 3e ok-str">&quot;hello&quot;</span>
80cc0 3b 3c 2f 73 70 61 6e 3e 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">....
80ce0 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>.
80d00 78 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 x2:.<span.class="tok-type">anyer
80d20 72 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 ror</span>![]<span.class="tok-kw
80d40 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-
80d60 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 63 6c type">u8</span>.=.&amp;[<span.cl
80d80 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 6e 20 ass="tok-number">5</span>]<span.
80da0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 class="tok-type">u8</span>{.<spa
80dc0 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 3c 73 n.class="tok-str">'h'</span>,.<s
80de0 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 2c 20 pan.class="tok-str">'e'</span>,.
80e00 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 3e <span.class="tok-str">'l'</span>
80e20 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
80e40 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 31 31 n>,.<span.class="tok-number">111
80e60 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
80e80 69 6e 65 22 3e 20 20 20 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
80ea0 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 61 y</span>.expect(std.mem.eql(<spa
80ec0 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
80ee0 70 61 6e 20 63 6c 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 pan.class="tok-kw">try</span>.x1
80f00 2c 20 3c 73 70 61 6e 20 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
80f20 3e 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 >.x2));</span>.<span.class="line
80f40 22 3e 3c 2f 73 70 61 6e 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">...
80f60 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>
80f80 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 .y:.<span.class="tok-type">anyer
80fa0 72 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 ror</span>![]<span.class="tok-kw
80fc0 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-
80fe0 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
81000 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
81020 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
81040 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
81060 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<
81080 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
810a0 6e 65 22 3e 20 20 20 20 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
810c0 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
810e0 2d 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 -kw">try</span>.y)[<span.class="
81100 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
81120 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>);</
81140 73 70 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
81160 3e 0a 3c 73 70 61 6e 20 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
81180 61 6e 20 63 6c 61 73 73 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
811a0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 -comment">//.Likewise,.it.works.
811c0 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 when.the.destination.type.is.an.
811e0 6f 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 optional.</span></span>.<span.cl
81200 61 73 73 3d 22 6c 69 6e 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">
81220 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
81240 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 ">&quot;*const.[N]T.to.?[]const.
81260 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c T&quot;</span>.{</span>.<span.cl
81280 61 73 73 3d 22 6c 69 6e 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-
812a0 6b 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 kw">var</span>.x1:.?[]<span.clas
812c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-kw">const</span>.<span.cl
812e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ass="tok-type">u8</span>.=.<span
81300 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f .class="tok-str">&quot;hello&quo
81320 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c t;</span>;</span>.<span.class="l
81340 69 6e 65 22 3e 20 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
81360 72 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 r</span>.x2:.?[]<span.class="tok
81380 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
813a0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e ok-type">u8</span>.=.&amp;[<span
813c0 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 3c 73 70 .class="tok-number">5</span>]<sp
813e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c an.class="tok-type">u8</span>{.<
81400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'h'</span>,
81420 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e .<span.class="tok-str">'e'</span
81440 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 >,.<span.class="tok-str">'l'</sp
81460 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f an>,.<span.class="tok-str">'l'</
81480 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">
814a0 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 111</span>.};</span>.<span.class
814c0 3d 22 6c 69 6e 65 22 3e 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"
814e0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c >try</span>.expect(std.mem.eql(<
81500 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>,
81520 20 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 .x1.?,.x2.?));</span>.<span.clas
81540 73 3d 22 6c 69 6e 65 22 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
81560 6e 65 22 3e 20 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
81580 3c 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 </span>.y:.?[]<span.class="tok-k
815a0 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
815c0 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 -type">f32</span>.=.&amp;[<span.
815e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 class="tok-number">2</span>]<spa
81600 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>{.<
81620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 span.class="tok-number">1.2</spa
81640 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 n>,.<span.class="tok-number">3.4
81660 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
81680 69 6e 65 22 3e 20 20 20 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
816a0 79 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 y</span>.expect(y.?[<span.class=
816c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">0</span>].==.<span.
816e0 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 29 3b 3c class="tok-number">1.2</span>);<
81700 2f 73 70 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
81720 6e 3e 0a 3c 73 70 61 6e 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
81740 70 61 6e 20 63 6c 61 73 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
81760 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 63 61 73 74 2c 20 74 68 65 20 k-comment">//.In.this.cast,.the.
81780 61 72 72 61 79 20 6c 65 6e 67 74 68 20 62 65 63 6f 6d 65 73 20 74 68 65 20 73 6c 69 63 65 20 6c array.length.becomes.the.slice.l
817a0 65 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 ength.</span></span>.<span.class
817c0 3d 22 6c 69 6e 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
817e0 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">&
81800 71 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 quot;*[N]T.to.[]T&quot;</span>.{
81820 3c 2f 73 70 61 6e 3e 0a 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">....<
81840 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
81860 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 35 3c uf:.[<span.class="tok-number">5<
81880 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
818a0 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">
818c0 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
818e0 6e 3e 0a 3c 73 70 61 6e 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.
81900 63 6c 61 73 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 class="tok-kw">const</span>.x:.[
81920 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
81940 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 6c 61 73 73 >.=.&amp;buf;</span>.<span.class
81960 3d 22 6c 69 6e 65 22 3e 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"
81980 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c >try</span>.expect(std.mem.eql(<
819a0 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>,
819c0 20 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 .x,.<span.class="tok-str">&quot;
819e0 68 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 hello&quot;</span>));</span>.<sp
81a00 61 6e 20 63 6c 61 73 73 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
81a20 61 73 73 3d 22 6c 69 6e 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-
81a40 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 66 32 20 3d 20 5b 3c 73 70 61 6e 20 63 kw">const</span>.buf2.=.[<span.c
81a60 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
81a80 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
81aa0 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
81ac0 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<
81ae0 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
81b00 6e 65 22 3e 20 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
81b20 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.x2:.[]<span.class="tok
81b40 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
81b60 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 32 3b ok-type">f32</span>.=.&amp;buf2;
81b80 3c 2f 73 70 61 6e 3e 0a 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">....<
81ba0 73 70 61 6e 20 63 6c 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
81bc0 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 74 xpect(std.mem.eql(<span.class="t
81be0 6f 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 ok-type">f32</span>,.x2,.&amp;[<
81c00 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>
81c20 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 ]<span.class="tok-type">f32</spa
81c40 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 n>{.<span.class="tok-number">1.2
81c60 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
81c80 22 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 ">3.4</span>.}));</span>.<span.c
81ca0 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
81cc0 3d 22 6c 69 6e 65 22 3e 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
81ce0 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">//.
81d00 53 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 63 Single-item.pointers.to.arrays.c
81d20 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 an.be.coerced.to.many-item.point
81d40 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 22 ers.</span></span>.<span.class="
81d60 6c 69 6e 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<
81d80 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
81da0 6f 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 ot;*[N]T.to.[*]T&quot;</span>.{<
81dc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
81de0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 pan.class="tok-kw">var</span>.bu
81e00 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</
81e20 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<
81e40 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">&
81e60 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
81e80 3e 0a 3c 73 70 61 6e 20 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
81ea0 6c 61 73 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 lass="tok-kw">const</span>.x:.[*
81ec0 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
81ee0 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 6c 61 73 73 >.=.&amp;buf;</span>.<span.class
81f00 3d 22 6c 69 6e 65 22 3e 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"
81f20 3e 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 >try</span>.expect(x[<span.class
81f40 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
81f60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 .class="tok-str">'o'</span>);</s
81f80 70 61 6e 3e 0a 3c 73 70 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
81fa0 6e 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 n.class="tok-comment">//.x[5].wo
81fc0 75 6c 64 20 62 65 20 61 6e 20 75 6e 63 61 75 67 68 74 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 uld.be.an.uncaught.out.of.bounds
81fe0 20 70 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .pointer.dereference!</span></sp
82000 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>.
82020 3c 73 70 61 6e 20 63 6c 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
82040 20 63 6c 61 73 73 3d 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
82060 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 68 omment">//.Likewise,.it.works.wh
82080 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 70 en.the.destination.type.is.an.op
820a0 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 73 tional.</span></span>.<span.clas
820c0 73 3d 22 6c 69 6e 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
820e0 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">
82100 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 3c 2f 73 70 61 6e &quot;*[N]T.to.?[*]T&quot;</span
82120 3e 20 7b 3c 2f 73 70 61 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">..
82140 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
82160 3e 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 >.buf:.[<span.class="tok-number"
82180 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"
821a0 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >u8</span>.=.<span.class="tok-st
821c0 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f r">&quot;hello&quot;</span>.*;</
821e0 73 70 61 6e 3e 0a 3c 73 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
82200 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 an.class="tok-kw">const</span>.x
82220 3a 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c :.?[*]<span.class="tok-type">u8<
82240 2f 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 /span>.=.&amp;buf;</span>.<span.
82260 63 6c 61 73 73 3d 22 6c 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
82280 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 2e 3f 5b 3c 73 70 61 k-kw">try</span>.expect(x.?[<spa
822a0 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 20 3d n.class="tok-number">4</span>].=
822c0 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 6f 27 3c 2f 73 70 61 =.<span.class="tok-str">'o'</spa
822e0 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">}
82300 3c 2f 73 70 61 6e 3e 0a 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
82320 6e 3e 0a 3c 73 70 61 6e 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
82340 73 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 s="tok-comment">//.Single-item.p
82360 6f 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 ointers.can.be.cast.to.len-1.sin
82380 67 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 gle-item.arrays.</span></span>.<
823a0 73 70 61 6e 20 63 6c 61 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
823c0 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="
823e0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 75 6f 74 3b tok-str">&quot;*T.to.*[1]T&quot;
82400 3c 2f 73 70 61 6e 3e 20 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
82420 6e 65 22 3e 20 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
82440 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
82460 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-
82480 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 number">1234</span>;</span>.<spa
824a0 6e 20 63 6c 61 73 73 3d 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="
824c0 74 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 tok-kw">const</span>.y:.*[<span.
824e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 class="tok-number">1</span>]<spa
82500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">i32</span>.=.
82520 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 69 6e 65 &amp;x;</span>.<span.class="line
82540 22 3e 20 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
82560 3c 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 </span>.z:.[*]<span.class="tok-t
82580 79 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 ype">i32</span>.=.y;</span>.<spa
825a0 6e 20 63 6c 61 73 73 3d 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="
825c0 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 7a 5b 3c 73 70 61 tok-kw">try</span>.expect(z[<spa
825e0 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>].=
82600 3d 20 3c 73 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<
82620 2f 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
82640 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
82660 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
82680 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
826a0 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
826c0 67 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 g.test.coerce__slices_arrays_and
826e0 5f 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 _ptrs.zig</kbd></span>.<span.cla
82700 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 2a 63 6f 6e 73 74 20 ss="line">1/7.test.&quot;*const.
82720 5b 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 [N]T.to.[]const.T&quot;....OK</s
82740 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 74 pan>.<span.class="line">2/7.test
82760 20 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 .&quot;*const.[N]T.to.E![]const.
82780 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 6e 20 63 6c 61 73 73 T&quot;....OK</span>.<span.class
827a0 3d 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 ="line">3/7.test.&quot;*const.[N
827c0 5d 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 ]T.to.?[]const.T&quot;....OK</sp
827e0 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 37 20 74 65 73 74 20 an>.<span.class="line">4/7.test.
82800 26 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 &quot;*[N]T.to.[]T&quot;....OK</
82820 73 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 span>.<span.class="line">5/7.tes
82840 74 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 t.&quot;*[N]T.to.[*]T&quot;....O
82860 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 36 2f 37 20 K</span>.<span.class="line">6/7.
82880 74 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 test.&quot;*[N]T.to.?[*]T&quot;.
828a0 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">
828c0 37 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 7/7.test.&quot;*T.to.*[1]T&quot;
828e0 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"
82900 3e 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 >All.7.tests.passed.</span>.</sa
82920 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.
82940 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f also:</p><ul>.<li><a.href="#C-Po
82960 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c inters">C.Pointers</a></li>.</ul
82980 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 >...............<h4.id="Type-Coe
829a0 72 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 6e 61 76 2e 78 68 rcion-Optionals"><a.href="nav.xh
829c0 74 6d 6c 23 74 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 tml#toc-Type-Coercion-Optionals"
829e0 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 >Type.Coercion:.Optionals</a>.<a
82a00 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f .class="hdr".href="#Type-Coercio
82a20 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 n-Optionals">..</a></h4>........
82a40 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 3c 61 <p>.......The.payload.type.of.<a
82a60 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 3e .href="#Optionals">Optionals</a>
82a80 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c ,.as.well.as.<a.href="#null">nul
82aa0 6c 3c 2f 61 3e 2c 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 l</a>,.coerce.to.the.optional.ty
82ac0 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 pe........</p>.......<figure><fi
82ae0 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
82b00 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c lass="file">test_coerce_optional
82b20 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 s.zig</cite></figcaption><pre><c
82b40 6f 64 65 3e 3c 73 70 61 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
82b60 73 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.=.<
82b80 73 70 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
82ba0 3c 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
82bc0 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
82be0 70 61 6e 20 63 6c 61 73 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
82c00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
82c20 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
82c40 73 73 3d 22 6c 69 6e 65 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
82c60 69 6e 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</
82c80 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
82ca0 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 t;coerce.to.optionals&quot;</spa
82cc0 6e 3e 20 7b 3c 2f 73 70 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">.
82ce0 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
82d00 70 61 6e 3e 20 78 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>.x:.?<span.class="tok-type">
82d20 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
82d40 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 20 mber">1234</span>;</span>.<span.
82d60 63 6c 61 73 73 3d 22 6c 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
82d80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 k-kw">const</span>.y:.?<span.cla
82da0 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
82dc0 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>;</
82de0 73 70 61 6e 3e 0a 3c 73 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>
82e00 0a 3c 73 70 61 6e 20 63 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
82e20 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 78 ass="tok-kw">try</span>.expect(x
82e40 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 31 .?.==.<span.class="tok-number">1
82e60 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=
82e80 22 6c 69 6e 65 22 3e 20 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">
82ea0 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 61 try</span>.expect(y.==.<span.cla
82ec0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ss="tok-null">null</span>);</spa
82ee0 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></
82f00 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
82f20 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<
82f40 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
82f60 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 63 ss="line">$.<kbd>zig.test.test_c
82f80 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e oerce_optionals.zig</kbd></span>
82fa0 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
82fc0 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 ot;coerce.to.optionals&quot;....
82fe0 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
83000 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><
83020 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 77 6f 72 6b 73 /pre></figure>.......<p>It.works
83040 20 6e 65 73 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 .nested.inside.the.<a.href="#Err
83060 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 70 65 3c or-Union-Type">Error.Union.Type<
83080 2f 61 3e 2c 20 74 6f 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 /a>,.too:</p>.......<figure><fig
830a0 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
830c0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f ass="file">test_coerce_optional_
830e0 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 63 69 74 65 3e 3c 2f wrapped_error_union.zig</cite></
83100 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
83120 73 3d 22 6c 69 6e 65 22 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
83140 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
83160 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.
83180 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;<
831a0 2f 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
831c0 65 22 3e 3c 73 70 61 6e 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
831e0 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
83200 3b 3c 2f 73 70 61 6e 3e 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
83220 61 6e 3e 0a 3c 73 70 61 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
83240 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
83260 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 ass="tok-str">&quot;coerce.to.op
83280 74 69 6f 6e 61 6c 73 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 tionals.wrapped.in.error.union&q
832a0 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
832c0 3d 22 6c 69 6e 65 22 3e 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"
832e0 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 6f >const</span>.x:.<span.class="to
83300 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 61 6e 20 63 k-type">anyerror</span>!?<span.c
83320 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
83340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e an.class="tok-number">1234</span
83360 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">...
83380 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
833a0 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 61 6e 79 n>.y:.<span.class="tok-type">any
833c0 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 74 error</span>!?<span.class="tok-t
833e0 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
83400 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 3c 73 70 ok-null">null</span>;</span>.<sp
83420 61 6e 20 63 6c 61 73 73 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
83440 61 73 73 3d 22 6c 69 6e 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-
83460 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 kw">try</span>.expect((<span.cla
83480 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 2e 3f 20 3d 3d 20 3c ss="tok-kw">try</span>.x).?.==.<
834a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 span.class="tok-number">1234</sp
834c0 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">
834e0 20 20 20 20 3c 73 70 61 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
83500 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 22 an>.expect((<span.class="tok-kw"
83520 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >try</span>.y).==.<span.class="t
83540 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
83560 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>
83580 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
835a0 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
835c0 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
835e0 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 63 6f 65 72 63 65 ine">$.<kbd>zig.test.test_coerce
83600 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 _optional_wrapped_error_union.zi
83620 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
83640 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f ">1/1.test.&quot;coerce.to.optio
83660 6e 61 6c 73 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 nals.wrapped.in.error.union&quot
83680 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
836a0 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
836c0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 amp></pre></figure>.............
836e0 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 .<h4.id="Type-Coercion-Error-Uni
83700 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 70 65 ons"><a.href="nav.xhtml#toc-Type
83720 2d 43 6f 65 72 63 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 -Coercion-Error-Unions">Type.Coe
83740 72 63 69 6f 6e 3a 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 rcion:.Error.Unions</a>.<a.class
83760 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 45 72 72 6f ="hdr".href="#Type-Coercion-Erro
83780 72 2d 55 6e 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 r-Unions">..</a></h4>........<p>
837a0 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 The.payload.type.of.an.<a.href="
837c0 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 #Error-Union-Type">Error.Union.T
837e0 79 70 65 3c 2f 61 3e 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 ype</a>.as.well.as.the.<a.href="
83800 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c #Error-Set-Type">Error.Set.Type<
83820 2f 61 3e 0a 20 20 20 20 20 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 20 65 72 72 6f 72 20 75 6e /a>.......coerce.to.the.error.un
83840 69 6f 6e 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 ion.type:.......</p>.......<figu
83860 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"><
83880 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f cite.class="file">test_coerce_to
838a0 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 _error_union.zig</cite></figcapt
838c0 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
838e0 22 3e 3c 73 70 61 6e 20 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
83900 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
83920 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="
83940 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>)
83960 3b 3c 2f 73 70 61 6e 3e 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
83980 6e 20 63 6c 61 73 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
839a0 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
839c0 3e 0a 3c 73 70 61 6e 20 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
839e0 61 6e 20 63 6c 61 73 73 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
83a00 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
83a20 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 k-str">&quot;coercion.to.error.u
83a40 6e 69 6f 6e 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 nions&quot;</span>.{</span>.<spa
83a60 6e 20 63 6c 61 73 73 3d 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="
83a80 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 63 6c tok-kw">const</span>.x:.<span.cl
83aa0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c ass="tok-type">anyerror</span>!<
83ac0 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>
83ae0 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
83b00 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
83b20 65 22 3e 20 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
83b40 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.y:.<span.class="tok-typ
83b60 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="
83b80 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
83ba0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 ss="tok-kw">error</span>.Failure
83bc0 3b 3c 2f 73 70 61 6e 3e 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
83be0 61 6e 3e 0a 3c 73 70 61 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
83c00 20 63 6c 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
83c20 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 t((<span.class="tok-kw">try</spa
83c40 6e 3e 20 78 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>.x).==.<span.class="tok-number
83c60 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
83c80 73 73 3d 22 6c 69 6e 65 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
83ca0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 w">try</span>.std.testing.expect
83cc0 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 Error(<span.class="tok-kw">error
83ce0 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 2c 20 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>.Failure,.y);</span>.<spa
83d00 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></
83d20 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
83d40 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
83d60 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
83d80 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 e">$.<kbd>zig.test.test_coerce_t
83da0 6f 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 70 61 6e 3e 0a 3c o_error_union.zig</kbd></span>.<
83dc0 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
83de0 3b 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 2e ;coercion.to.error.unions&quot;.
83e00 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">
83e20 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 6d All.1.tests.passed.</span>.</sam
83e40 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>..............<
83e60 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d h4.id="Type-Coercion-Compile-Tim
83e80 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 e-Known-Numbers"><a.href="nav.xh
83ea0 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 tml#toc-Type-Coercion-Compile-Ti
83ec0 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a me-Known-Numbers">Type.Coercion:
83ee0 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 20 .Compile-Time.Known.Numbers</a>.
83f00 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 <a.class="hdr".href="#Type-Coerc
83f20 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 3e ion-Compile-Time-Known-Numbers">
83f40 c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 6e 75 6d ..</a></h4>........<p>When.a.num
83f60 62 65 72 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 ber.is.<a.href="#comptime">compt
83f80 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 6c ime</a>-known.to.be.representabl
83fa0 65 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 20 e.in.the.destination.type,......
83fc0 20 69 74 20 6d 61 79 20 62 65 20 63 6f 65 72 63 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .it.may.be.coerced:.......</p>..
83fe0 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="
84000 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
84020 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 _coerce_large_to_small.zig</cite
84040 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
84060 6c 61 73 73 3d 22 6c 69 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"
84080 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=
840a0 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
840c0 61 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
840e0 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="
84100 6c 69 6e 65 22 3e 3c 73 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
84120 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
84140 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"><
84160 2f 73 70 61 6e 3e 0a 3c 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.
84180 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
841a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6e 67 20 .class="tok-str">&quot;coercing.
841c0 6c 61 72 67 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e large.integer.type.to.smaller.on
841e0 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 77 6e 20 74 e.when.value.is.comptime.known.t
84200 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 3c 73 70 61 o.fit&quot;</span>.{</span>.<spa
84220 6e 20 63 6c 61 73 73 3d 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="
84240 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 63 6c tok-kw">const</span>.x:.<span.cl
84260 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 3c 73 70 61 ass="tok-type">u64</span>.=.<spa
84280 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 3b n.class="tok-number">255</span>;
842a0 3c 2f 73 70 61 6e 3e 0a 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">....<
842c0 73 70 61 6e 20 63 6c 61 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>
842e0 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 38 3c 2f 73 .y:.<span.class="tok-type">u8</s
84300 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 3d 22 6c 69 pan>.=.x;</span>.<span.class="li
84320 6e 65 22 3e 20 20 20 20 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
84340 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.expect(y.==.<span.class=
84360 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 70 61 6e 3e "tok-number">255</span>);</span>
84380 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
843a0 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
843c0 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
843e0 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
84400 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 63 6f 65 ="line">$.<kbd>zig.test.test_coe
84420 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 3c 2f 73 70 rce_large_to_small.zig</kbd></sp
84440 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.
84460 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 20 74 79 70 &quot;coercing.large.integer.typ
84480 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 20 69 73 20 63 e.to.smaller.one.when.value.is.c
844a0 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 2e 20 4f 4b omptime.known.to.fit&quot;....OK
844c0 3c 2f 73 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
844e0 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
84500 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
84520 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 6e 75 6d 73 ="Type-Coercion-unions-and-enums
84540 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f "><a.href="nav.xhtml#toc-Type-Co
84560 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 54 79 70 65 20 43 6f ercion-unions-and-enums">Type.Co
84580 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 2f 61 3e 20 3c 61 20 ercion:.unions.and.enums</a>.<a.
845a0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e class="hdr".href="#Type-Coercion
845c0 2d 75 6e 69 6f 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 -unions-and-enums">..</a></h4>..
845e0 20 20 20 20 20 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 ......<p>Tagged.unions.can.be.co
84600 65 72 63 65 64 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 erced.to.enums,.and.enums.can.be
84620 20 63 6f 65 72 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 .coerced.to.tagged.unions.......
84640 77 68 65 6e 20 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 when.they.are.<a.href="#comptime
84660 22 3e 63 6f 6d 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 ">comptime</a>-known.to.be.a.fie
84680 6c 64 20 6f 66 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 ld.of.the.union.that.has.only.on
846a0 65 20 70 6f 73 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 e.possible.value,.such.as.......
846c0 3c 61 20 68 72 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 <a.href="#void">void</a>:.......
846e0 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
84700 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
84720 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f ">test_coerce_unions_enums.zig</
84740 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
84760 61 6e 20 63 6c 61 73 73 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
84780 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
847a0 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>
847c0 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
847e0 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
84800 73 73 3d 22 6c 69 6e 65 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
84820 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
84840 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
84860 65 22 3e 3c 2f 73 70 61 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
84880 70 61 6e 20 63 6c 61 73 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>.
848a0 45 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 E.=.<span.class="tok-kw">enum</s
848c0 70 61 6e 3e 20 7b 3c 2f 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"
848e0 3e 20 20 20 20 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 >....one,</span>.<span.class="li
84900 6e 65 22 3e 20 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 ne">....two,</span>.<span.class=
84920 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">....three,</span>.<span.c
84940 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
84960 73 3d 22 6c 69 6e 65 22 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
84980 6e 65 22 3e 3c 73 70 61 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</
849a0 73 70 61 6e 3e 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 span>.U.=.<span.class="tok-kw">u
849c0 6e 69 6f 6e 3c 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 nion</span>(E).{</span>.<span.cl
849e0 61 73 73 3d 22 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 ass="line">....one:.<span.class=
84a00 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 73 "tok-type">i32</span>,</span>.<s
84a20 70 61 6e 20 63 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 pan.class="line">....two:.<span.
84a40 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
84a60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 an>.<span.class="line">....three
84a80 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">};</
84aa0 73 70 61 6e 3e 0a 3c 73 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>
84ac0 0a 3c 73 70 61 6e 20 63 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=
84ae0 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
84b00 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 ="tok-str">&quot;coercion.betwee
84b20 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 n.unions.and.enums&quot;</span>.
84b40 7b 3c 2f 73 70 61 6e 3e 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">....
84b60 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>.
84b80 75 20 3d 20 55 7b 20 2e 74 77 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e u.=.U{..two.=.<span.class="tok-n
84ba0 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 umber">12.34</span>.};</span>.<s
84bc0 70 61 6e 20 63 6c 61 73 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
84be0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 3a 20 45 20 3d 20 75 3b 3c 2f ="tok-kw">var</span>.e:.E.=.u;</
84c00 73 70 61 6e 3e 0a 3c 73 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
84c20 61 6e 20 63 6c 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
84c40 65 63 74 28 65 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 ect(e.==.E.two);</span>.<span.cl
84c60 61 73 73 3d 22 6c 69 6e 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="
84c80 6c 69 6e 65 22 3e 20 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
84ca0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 65 20 3d 20 45 2e 74 68 72 65 65 3b 3c 2f 73 70 onst</span>.three.=.E.three;</sp
84cc0 61 6e 3e 0a 3c 73 70 61 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
84ce0 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 6e 6f 74 68 .class="tok-kw">var</span>.anoth
84d00 65 72 5f 75 3a 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 er_u:.U.=.three;</span>.<span.cl
84d20 61 73 73 3d 22 6c 69 6e 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-
84d40 6b 77 22 3e 74 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 kw">try</span>.expect(another_u.
84d60 3d 3d 20 45 2e 74 68 72 65 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ==.E.three);</span>.<span.class=
84d80 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
84da0 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="
84dc0 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
84de0 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
84e00 64 3e 7a 69 67 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 d>zig.test.test_coerce_unions_en
84e20 75 6d 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 ums.zig</kbd></span>.<span.class
84e40 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 69 6f 6e 20 ="line">1/1.test.&quot;coercion.
84e60 62 65 74 77 65 65 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 2e 2e between.unions.and.enums&quot;..
84e80 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
84ea0 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
84ec0 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
84ee0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 so:</p><ul>.<li><a.href="#union"
84f00 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e >union</a></li>.<li><a.href="#en
84f20 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a um">enum</a></li>.</ul>.........
84f40 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 5a 65 72 6f ......<h4.id="Type-Coercion-Zero
84f60 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 -Bit-Types"><a.href="nav.xhtml#t
84f80 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 79 70 65 73 22 oc-Type-Coercion-Zero-Bit-Types"
84fa0 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f >Type.Coercion:.Zero.Bit.Types</
84fc0 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
84fe0 65 72 63 69 6f 6e 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 ercion-Zero-Bit-Types">..</a></h
85000 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 4>........<p><a.href="#Zero-Bit-
85020 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 6d 61 79 20 62 65 Types">Zero.Bit.Types</a>.may.be
85040 20 63 6f 65 72 63 65 64 20 74 6f 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d .coerced.to.single-item.<a.href=
85060 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 "#Pointers">Pointers</a>,.......
85080 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 63 6f 6e 73 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c regardless.of.const.</p>.......<
850a0 70 3e 54 4f 44 4f 20 64 6f 63 75 6d 65 6e 74 20 74 68 65 20 72 65 61 73 6f 6e 69 6e 67 20 66 6f p>TODO.document.the.reasoning.fo
850c0 72 20 74 68 69 73 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 r.this</p>.......<p>TODO.documen
850e0 74 20 77 68 65 74 68 65 72 20 76 69 63 65 20 76 65 72 73 61 20 73 68 6f 75 6c 64 20 77 6f 72 6b t.whether.vice.versa.should.work
85100 20 61 6e 64 20 77 68 79 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 .and.why</p>.......<figure><figc
85120 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
85140 73 73 3d 22 66 69 6c 65 22 3e 63 6f 65 72 63 65 5f 7a 65 72 6f 5f 62 69 74 5f 74 79 70 65 73 2e ss="file">coerce_zero_bit_types.
85160 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
85180 65 3e 3c 73 70 61 6e 20 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
851a0 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
851c0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 6f 66 20 7a 65 s="tok-str">&quot;coercion.of.ze
851e0 72 6f 20 62 69 74 20 74 79 70 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ro.bit.types&quot;</span>.{</spa
85200 6e 3e 0a 3c 73 70 61 6e 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.
85220 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 class="tok-kw">var</span>.x:.<sp
85240 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>.
85260 3d 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 =.{};</span>.<span.class="line">
85280 20 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
852a0 61 6e 3e 20 79 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 76 an>.y:.*<span.class="tok-type">v
852c0 6f 69 64 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 oid</span>.=.x;</span>.<span.cla
852e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">...._.=.y;</span>.<spa
85300 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></
85320 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
85340 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
85360 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
85380 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 65 72 63 65 5f 7a 65 72 6f 5f 62 e">$.<kbd>zig.test.coerce_zero_b
853a0 69 74 5f 74 79 70 65 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 it_types.zig</kbd></span>.<span.
853c0 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 63 6f 65 72 class="line">1/1.test.&quot;coer
853e0 63 69 6f 6e 20 6f 66 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 cion.of.zero.bit.types&quot;....
85400 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
85420 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><
85440 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 34 20 /pre></figure>..............<h4.
85460 69 64 3d 22 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 3c 61 20 id="Type-Coercion-undefined"><a.
85480 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f href="nav.xhtml#toc-Type-Coercio
854a0 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 n-undefined">Type.Coercion:.unde
854c0 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 fined</a>.<a.class="hdr".href="#
854e0 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c Type-Coercion-undefined">..</a><
85500 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e /h4>........<p><a.href="#undefin
85520 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f ed">undefined</a>.can.be.cast.to
85540 20 61 6e 79 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 .any.type.</p>..................
85560 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 3c 61 20 68 ....<h3.id="Explicit-Casts"><a.h
85580 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 78 70 6c 69 63 69 74 2d 43 61 73 74 ref="nav.xhtml#toc-Explicit-Cast
855a0 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="
855c0 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">..</
855e0 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
85600 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
85620 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
85640 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
85660 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..
85680 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
856a0 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
856c0 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
856e0 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.
85700 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>..
85720 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">
85740 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
85760 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>.
85780 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
857a0 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
857c0 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>.....
857e0 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">@
85800 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.
85820 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>...........
85840 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
85860 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
85880 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
858a0 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
858c0 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
858e0 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>
85900 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
85920 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
85940 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
85960 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
85980 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
859a0 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
859c0 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="
859e0 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
85a00 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
85a20 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
85a40 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
85a60 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>.
85a80 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
85aa0 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
85ac0 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
85ae0 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
85b00 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>
85b20 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
85b40 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>.........
85b60 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
85b80 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
85ba0 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>..........
85bc0 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
85be0 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
85c00 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
85c20 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
85c40 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>
85c60 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
85c80 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
85ca0 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>.........
85cc0 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
85ce0 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
85d00 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>.
85d20 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
85d40 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=
85d60 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 "nav.xhtml#toc-Peer-Type-Resolut
85d80 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 3c 61 ion">Peer.Type.Resolution</a>.<a
85da0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 .class="hdr".href="#Peer-Type-Re
85dc0 73 6f 6c 75 74 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 solution">..</a></h3>........<p>
85de0 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 74 Peer.Type.Resolution.occurs.in.t
85e00 68 65 73 65 20 70 6c 61 63 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 hese.places:</p>.......<ul>.....
85e20 20 20 20 20 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 ....<li><a.href="#switch">switch
85e40 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 6c </a>.expressions</li>.........<l
85e60 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f i><a.href="#if">if</a>.expressio
85e80 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 68 ns</li>.........<li><a.href="#wh
85ea0 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a ile">while</a>.expressions</li>.
85ec0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f ........<li><a.href="#for">for</
85ee0 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e a>.expressions</li>.........<li>
85f00 4d 75 6c 74 69 70 6c 65 20 62 72 65 61 6b 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 62 Multiple.break.statements.in.a.b
85f20 6c 6f 63 6b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6f 6d 65 20 3c 61 20 68 72 lock</li>.........<li>Some.<a.hr
85f40 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 62 69 6e 61 72 79 20 ef="#Table-of-Operators">binary.
85f60 6f 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 3c 2f 75 6c 3e 0a operations</a></li>.......</ul>.
85f80 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 74 79 70 ......<p>.......This.kind.of.typ
85fa0 65 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 68 6f 6f 73 65 73 20 61 20 74 79 70 65 20 74 68 61 74 e.resolution.chooses.a.type.that
85fc0 20 61 6c 6c 20 70 65 65 72 20 74 79 70 65 73 20 63 61 6e 20 63 6f 65 72 63 65 20 69 6e 74 6f 2e .all.peer.types.can.coerce.into.
85fe0 20 48 65 72 65 20 61 72 65 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 61 6d 70 6c 65 73 3a 0a 20 .Here.are.......some.examples:..
86000 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
86020 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=
86040 22 66 69 6c 65 22 3e 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 "file">peer_type_resolution.zig<
86060 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
86080 70 61 6e 20 63 6c 61 73 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
860a0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
860c0 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
860e0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
86100 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
86120 61 73 73 3d 22 6c 69 6e 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">
86140 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
86160 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
86180 6e 65 22 3e 3c 73 70 61 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</
861a0 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span>.mem.=.std.mem;</span>.<spa
861c0 6e 20 63 6c 61 73 73 3d 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
861e0 73 73 3d 22 6c 69 6e 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
86200 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"
86220 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e 69 6e 67 >&quot;peer.resolve.int.widening
86240 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
86260 73 73 3d 22 6c 69 6e 65 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
86280 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.a:.<span.class="to
862a0 6b 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 k-type">i8</span>.=.<span.class=
862c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">12</span>;</span>.<
862e0 73 70 61 6e 20 63 6c 61 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
86300 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
86320 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">i16</span>.=.<sp
86340 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 73 70 61 6e 3e 3b an.class="tok-number">34</span>;
86360 3c 2f 73 70 61 6e 3e 0a 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">....<
86380 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 63 span.class="tok-kw">var</span>.c
863a0 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 3d 22 6c 69 .=.a.+.b;</span>.<span.class="li
863c0 6e 65 22 3e 20 20 20 20 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
863e0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.expect(c.==.<span.class=
86400 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-number">46</span>);</span>.
86420 3c 73 70 61 6e 20 63 6c 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
86440 73 73 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
86460 70 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<
86480 2f 73 70 61 6e 3e 28 63 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>(c).==.<span.class="tok-ty
864a0 70 65 22 3e 69 31 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 pe">i16</span>);</span>.<span.cl
864c0 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=
864e0 22 6c 69 6e 65 22 3e 3c 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
86500 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
86520 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 n>.<span.class="tok-str">&quot;p
86540 65 65 72 20 72 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 eer.resolve.arrays.of.different.
86560 73 69 7a 65 20 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e size.to.const.slice&quot;</span>
86580 20 7b 3c 2f 73 70 61 6e 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">...
865a0 20 3c 73 70 61 6e 20 63 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>
865c0 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 74 6f 6b .expect(mem.eql(<span.class="tok
865e0 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 72 28 3c 73 70 61 -type">u8</span>,.boolToStr(<spa
86600 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 2c n.class="tok-null">true</span>),
86620 20 3c 73 70 61 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 .<span.class="tok-str">&quot;tru
86640 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e&quot;</span>));</span>.<span.c
86660 6c 61 73 73 3d 22 6c 69 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
86680 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c -kw">try</span>.expect(mem.eql(<
866a0 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>,
866c0 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 6c .boolToStr(<span.class="tok-null
866e0 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 6f ">false</span>),.<span.class="to
86700 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 29 k-str">&quot;false&quot;</span>)
86720 29 3b 3c 2f 73 70 61 6e 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">...
86740 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</
86760 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</
86780 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 span>.expect(mem.eql(<span.class
867a0 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 72 ="tok-type">u8</span>,.boolToStr
867c0 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 70 (<span.class="tok-null">true</sp
867e0 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 75 6f an>),.<span.class="tok-str">&quo
86800 74 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 t;true&quot;</span>));</span>.<s
86820 70 61 6e 20 63 6c 61 73 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
86840 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.
86860 63 6c 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
86880 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">
868a0 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 u8</span>,.boolToStr(<span.class
868c0 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 2c 20 3c 73 70 61 6e ="tok-null">false</span>),.<span
868e0 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 65 26 71 75 6f .class="tok-str">&quot;false&quo
86900 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=
86920 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
86940 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
86960 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 6f 6f 6c 54 6f 53 74 72 >.<span.class="tok-fn">boolToStr
86980 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 65 </span>(b:.<span.class="tok-type
869a0 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">bool</span>).[]<span.class="to
869c0 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="
869e0 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">u8</span>.{</span>.<sp
86a00 61 6e 20 63 6c 61 73 73 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=
86a20 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">return</span>.<span.cla
86a40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 ss="tok-kw">if</span>.(b).<span.
86a60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 6f 74 3b class="tok-str">&quot;true&quot;
86a80 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 </span>.<span.class="tok-kw">els
86aa0 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 e</span>.<span.class="tok-str">&
86ac0 71 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a quot;false&quot;</span>;</span>.
86ae0 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
86b00 6e 20 63 6c 61 73 73 3d 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
86b20 73 73 3d 22 6c 69 6e 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
86b40 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"
86b60 3e 26 71 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 >&quot;peer.resolve.array.and.co
86b80 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 0a nst.slice&quot;</span>.{</span>.
86ba0 3c 73 70 61 6e 20 63 6c 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
86bc0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 50 65 65 72 52 ss="tok-kw">try</span>.testPeerR
86be0 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 esolveArrayConstSlice(<span.clas
86c00 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e s="tok-null">true</span>);</span
86c20 3e 0a 3c 73 70 61 6e 20 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
86c40 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 3c 73 lass="tok-kw">comptime</span>.<s
86c60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 pan.class="tok-kw">try</span>.te
86c80 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 stPeerResolveArrayConstSlice(<sp
86ca0 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>)
86cc0 3b 3c 2f 73 70 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
86ce0 70 61 6e 3e 0a 3c 73 70 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
86d00 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
86d20 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 61 79 ss="tok-fn">testPeerResolveArray
86d40 43 6f 6e 73 74 53 6c 69 63 65 3c 2f 73 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ConstSlice</span>(b:.<span.class
86d60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 ="tok-type">bool</span>).!<span.
86d80 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>.{</
86da0 73 70 61 6e 3e 0a 3c 73 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
86dc0 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.v
86de0 61 6c 75 65 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 69 66 3c alue1.=.<span.class="tok-kw">if<
86e00 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 /span>.(b).<span.class="tok-str"
86e20 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 >&quot;aoeu&quot;</span>.<span.c
86e40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 lass="tok-kw">else</span>.<span.
86e60 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 5b class="tok-builtin">@as</span>([
86e80 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
86ea0 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
86ec0 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 74 an>,.<span.class="tok-str">&quot
86ee0 3b 7a 7a 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 ;zz&quot;</span>);</span>.<span.
86f00 63 6c 61 73 73 3d 22 6c 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
86f20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 32 20 3d 20 3c 73 70 61 k-kw">const</span>.value2.=.<spa
86f40 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 29 20 3c n.class="tok-kw">if</span>.(b).<
86f60 73 70 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
86f80 61 6e 3e 28 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 an>([]<span.class="tok-kw">const
86fa0 3c 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
86fc0 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 73 74 72 22 3e 8</span>,.<span.class="tok-str">
86fe0 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 &quot;zz&quot;</span>).<span.cla
87000 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">else</span>.<span.cl
87020 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f ass="tok-str">&quot;aoeu&quot;</
87040 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"
87060 3e 20 20 20 20 3c 73 70 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
87080 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=
870a0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 31 2c 20 3c 73 "tok-type">u8</span>,.value1,.<s
870c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 pan.class="tok-str">&quot;aoeu&q
870e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 uot;</span>));</span>.<span.clas
87100 73 3d 22 6c 69 6e 65 22 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
87120 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 ">try</span>.expect(mem.eql(<spa
87140 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 76 61 n.class="tok-type">u8</span>,.va
87160 6c 75 65 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f lue2,.<span.class="tok-str">&quo
87180 74 3b 7a 7a 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 t;zz&quot;</span>));</span>.<spa
871a0 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
871c0 61 73 73 3d 22 6c 69 6e 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="
871e0 6c 69 6e 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<
87200 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
87220 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 3f 54 20 61 6e 64 20 ot;peer.type.resolution:.?T.and.
87240 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c T&quot;</span>.{</span>.<span.cl
87260 61 73 73 3d 22 6c 69 6e 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-
87280 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 54 41 kw">try</span>.expect(peerTypeTA
872a0 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 2d 6e 75 6c ndOptionalT(<span.class="tok-nul
872c0 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b l">true</span>,.<span.class="tok
872e0 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 73 70 61 6e 20 -null">false</span>).?.==.<span.
87300 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">0</span>);</s
87320 70 61 6e 3e 0a 3c 73 70 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
87340 6e 20 63 6c 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
87360 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 ct(peerTypeTAndOptionalT(<span.c
87380 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
873a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e pan.class="tok-null">false</span
873c0 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 >).?.==.<span.class="tok-number"
873e0 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 3d 22 >3</span>);</span>.<span.class="
87400 6c 69 6e 65 22 3e 20 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
87420 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
87440 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="
87460 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
87480 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
874a0 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -null">true</span>,.<span.class=
874c0 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 73 "tok-null">false</span>).?.==.<s
874e0 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>)
87500 3b 3c 2f 73 70 61 6e 3e 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">....
87520 20 20 20 20 3c 73 70 61 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
87540 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 6c 54 an>.expect(peerTypeTAndOptionalT
87560 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 (<span.class="tok-null">false</s
87580 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 6c pan>,.<span.class="tok-null">fal
875a0 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 6b se</span>).?.==.<span.class="tok
875c0 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
875e0 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
87600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
87620 73 73 3d 22 6c 69 6e 65 22 3e 3c 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
87640 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 65 n</span>.<span.class="tok-fn">pe
87660 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 erTypeTAndOptionalT</span>(c:.<s
87680 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e pan.class="tok-type">bool</span>
876a0 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c ,.b:.<span.class="tok-type">bool
876c0 3c 2f 73 70 61 6e 3e 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>).?<span.class="tok-type"
876e0 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >usize</span>.{</span>.<span.cla
87700 73 73 3d 22 6c 69 6e 65 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
87720 77 22 3e 69 66 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 w">if</span>.(c).{</span>.<span.
87740 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
87760 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
87780 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e ass="tok-kw">if</span>.(b).<span
877a0 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 20 3c 73 .class="tok-null">null</span>.<s
877c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c pan.class="tok-kw">else</span>.<
877e0 73 70 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
87800 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 an>(<span.class="tok-type">usize
87820 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
87840 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 3d ">0</span>);</span>.<span.class=
87860 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=
87880 22 6c 69 6e 65 22 3e 3c 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
878a0 22 3e 20 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
878c0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n</span>.<span.class="tok-builti
878e0 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
87900 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 73 73 3d 22 ype">usize</span>,.<span.class="
87920 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 6e 3e 0a 3c 73 tok-number">3</span>);</span>.<s
87940 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.
87960 63 6c 61 73 73 3d 22 6c 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
87980 3d 22 6c 69 6e 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
879a0 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">&
879c0 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 quot;peer.type.resolution:.*[0]u
879e0 38 20 61 6e 64 20 5b 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 8.and.[]const.u8&quot;</span>.{<
87a00 2f 73 70 61 6e 3e 0a 3c 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
87a20 70 61 6e 20 63 6c 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
87a40 70 65 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 pect(peerTypeEmptyArrayAndSlice(
87a60 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
87a80 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;
87aa0 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c hi&quot;</span>).len.==.<span.cl
87ac0 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
87ae0 6e 3e 0a 3c 73 70 61 6e 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.
87b00 63 6c 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
87b20 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 (peerTypeEmptyArrayAndSlice(<spa
87b40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c n.class="tok-null">false</span>,
87b60 20 3c 73 70 61 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&
87b80 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 quot;</span>).len.==.<span.class
87ba0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">1</span>);</span>.
87bc0 3c 73 70 61 6e 20 63 6c 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
87be0 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
87c00 70 61 6e 3e 0a 3c 73 70 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">........
87c20 3c 73 70 61 6e 20 63 6c 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>.
87c40 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 expect(peerTypeEmptyArrayAndSlic
87c60 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 65 3c 2f 73 e(<span.class="tok-null">true</s
87c80 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
87ca0 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 t;hi&quot;</span>).len.==.<span.
87cc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">0</span>);</s
87ce0 70 61 6e 3e 0a 3c 73 70 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">........
87d00 3c 73 70 61 6e 20 63 6c 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>.
87d20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 expect(peerTypeEmptyArrayAndSlic
87d40 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f e(<span.class="tok-null">false</
87d60 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 span>,.<span.class="tok-str">&qu
87d80 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e ot;hi&quot;</span>).len.==.<span
87da0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f .class="tok-number">1</span>);</
87dc0 73 70 61 6e 3e 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">....}</
87de0 73 70 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
87e00 3e 0a 3c 73 70 61 6e 20 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
87e20 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=
87e40 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c "tok-fn">peerTypeEmptyArrayAndSl
87e60 69 63 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ice</span>(a:.<span.class="tok-t
87e80 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e ype">bool</span>,.slice:.[]<span
87ea0 20 63 6c 61 73 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
87ec0 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 5b an.class="tok-type">u8</span>).[
87ee0 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
87f00 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
87f20 61 6e 3e 20 7b 3c 2f 73 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">
87f40 20 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
87f60 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 6c 69 6e n>.(a).{</span>.<span.class="lin
87f80 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">
87fa0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 return</span>.&amp;[_]<span.clas
87fc0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e s="tok-type">u8</span>{};</span>
87fe0 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>
88000 0a 3c 73 70 61 6e 20 63 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
88020 6e 20 63 6c 61 73 73 3d 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="
88040 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b 3c 73 70 61 tok-kw">return</span>.slice[<spa
88060 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 3c n.class="tok-number">0</span>..<
88080 73 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>
880a0 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f ];</span>.<span.class="line">}</
880c0 73 70 61 6e 3e 0a 3c 73 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
880e0 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.
88100 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 79 70 65 20 class="tok-str">&quot;peer.type.
88120 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 75 38 2c 20 resolution:.*[0]u8,.[]const.u8,.
88140 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b and.anyerror![]u8&quot;</span>.{
88160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b </span>.<span.class="line">....{
88180 3c 2f 73 70 61 6e 3e 0a 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">.....
881a0 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
881c0 6e 3e 20 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e n>.data.=.<span.class="tok-str">
881e0 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a &quot;hi&quot;</span>.*;</span>.
88200 3c 73 70 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
88220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 .class="tok-kw">const</span>.sli
88240 63 65 20 3d 20 64 61 74 61 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ce.=.data[<span.class="tok-numbe
88260 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">0</span>..];</span>.<span.cla
88280 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
882a0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 ok-kw">try</span>.expect((<span.
882c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 class="tok-kw">try</span>.peerTy
882e0 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 peEmptyArrayAndSliceAndError(<sp
88300 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>,
88320 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .slice)).len.==.<span.class="tok
88340 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 6e -number">0</span>);</span>.<span
88360 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
88380 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 s="tok-kw">try</span>.expect((<s
883a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 pan.class="tok-kw">try</span>.pe
883c0 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 erTypeEmptyArrayAndSliceAndError
883e0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 (<span.class="tok-null">false</s
88400 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan>,.slice)).len.==.<span.class
88420 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">1</span>);</span>.
88440 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>.
88460 3c 73 70 61 6e 20 63 6c 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
88480 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
884a0 70 61 6e 3e 0a 3c 73 70 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">........
884c0 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>.
884e0 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 data.=.<span.class="tok-str">&qu
88500 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ot;hi&quot;</span>.*;</span>.<sp
88520 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
88540 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 ass="tok-kw">const</span>.slice.
88560 3d 20 64 61 74 61 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e =.data[<span.class="tok-number">
88580 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 0</span>..];</span>.<span.class=
885a0 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-
885c0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 kw">try</span>.expect((<span.cla
885e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 ss="tok-kw">try</span>.peerTypeE
88600 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 mptyArrayAndSliceAndError(<span.
88620 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c class="tok-null">true</span>,.sl
88640 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ice)).len.==.<span.class="tok-nu
88660 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
88680 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="
886a0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e tok-kw">try</span>.expect((<span
886c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 .class="tok-kw">try</span>.peerT
886e0 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 ypeEmptyArrayAndSliceAndError(<s
88700 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e pan.class="tok-null">false</span
88720 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >,.slice)).len.==.<span.class="t
88740 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
88760 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
88780 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
887a0 6c 61 73 73 3d 22 6c 69 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"
887c0 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">
887e0 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 peerTypeEmptyArrayAndSliceAndErr
88800 6f 72 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 or</span>(a:.<span.class="tok-ty
88820 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 pe">bool</span>,.slice:.[]<span.
88840 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 class="tok-type">u8</span>).<spa
88860 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
88880 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f n>![]<span.class="tok-type">u8</
888a0 73 70 61 6e 3e 20 7b 3c 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
888c0 22 3e 20 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
888e0 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 6c pan>.(a).{</span>.<span.class="l
88900 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
88920 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c ">return</span>.&amp;[_]<span.cl
88940 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 7d 3b 3c 2f 73 70 61 ass="tok-type">u8</span>{};</spa
88960 6e 3e 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
88980 6e 3e 0a 3c 73 70 61 6e 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
889a0 70 61 6e 20 63 6c 61 73 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
889c0 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b 3c 73 ="tok-kw">return</span>.slice[<s
889e0 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>.
88a00 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
88a20 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>];</span>.<span.class="line">}
88a40 3c 2f 73 70 61 6e 3e 0a 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
88a60 6e 3e 0a 3c 73 70 61 6e 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
88a80 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
88aa0 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 79 70 65 20 72 65 73 ss="tok-str">&quot;peer.type.res
88ac0 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 20 61 6e 64 20 3f 2a 54 26 71 75 6f 74 3b 3c olution:.*const.T.and.?*T&quot;<
88ae0 2f 73 70 61 6e 3e 20 7b 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
88b00 65 22 3e 20 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
88b20 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t</span>.a.=.<span.class="tok-bu
88b40 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 iltin">@intToPtr</span>(*<span.c
88b60 6c 61 73 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
88b80 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>,.
88ba0 3c 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 35 <span.class="tok-number">0x12345
88bc0 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 6780</span>);</span>.<span.class
88be0 3d 22 6c 69 6e 65 22 3e 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"
88c00 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.b.=.<span.class="t
88c20 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 6e 3e 28 3f 2a 3c ok-builtin">@intToPtr</span>(?*<
88c40 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
88c60 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 78 31 n>,.<span.class="tok-number">0x1
88c80 32 33 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 23456780</span>);</span>.<span.c
88ca0 6c 61 73 73 3d 22 6c 69 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
88cc0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 62 29 3b 3c -kw">try</span>.expect(a.==.b);<
88ce0 2f 73 70 61 6e 3e 0a 3c 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
88d00 70 61 6e 20 63 6c 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
88d20 70 65 63 74 28 62 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pect(b.==.a);</span>.<span.class
88d40 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
88d60 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=
88d80 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
88da0 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
88dc0 62 64 3e 7a 69 67 20 74 65 73 74 20 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e bd>zig.test.peer_type_resolution
88de0 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
88e00 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 ine">1/7.test.&quot;peer.resolve
88e20 20 69 6e 74 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e .int.widening&quot;....OK</span>
88e40 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 26 71 75 .<span.class="line">2/7.test.&qu
88e60 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 ot;peer.resolve.arrays.of.differ
88e80 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e ent.size.to.const.slice&quot;...
88ea0 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 33 2f .OK</span>.<span.class="line">3/
88ec0 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 20 7.test.&quot;peer.resolve.array.
88ee0 61 6e 64 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 and.const.slice&quot;....OK</spa
88f00 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.&
88f20 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 3f 54 20 61 6e quot;peer.type.resolution:.?T.an
88f40 64 20 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 6e 20 63 6c 61 d.T&quot;....OK</span>.<span.cla
88f60 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 70 65 65 72 20 74 79 ss="line">5/7.test.&quot;peer.ty
88f80 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 6f 6e 73 pe.resolution:.*[0]u8.and.[]cons
88fa0 74 20 75 38 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 t.u8&quot;....OK</span>.<span.cl
88fc0 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 70 65 65 72 20 74 ass="line">6/7.test.&quot;peer.t
88fe0 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 ype.resolution:.*[0]u8,.[]const.
89000 75 38 2c 20 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 2e 2e 2e 20 4f u8,.and.anyerror![]u8&quot;....O
89020 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 2f 37 20 K</span>.<span.class="line">7/7.
89040 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 74 69 6f 6e 3a test.&quot;peer.type.resolution:
89060 20 2a 63 6f 6e 73 74 20 54 20 61 6e 64 20 3f 2a 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 .*const.T.and.?*T&quot;....OK</s
89080 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 37 20 74 65 pan>.<span.class="line">All.7.te
890a0 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>
890c0 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>......................<
890e0 68 32 20 69 64 3d 22 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 h2.id="Zero-Bit-Types"><a.href="
89100 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 nav.xhtml#toc-Zero-Bit-Types">Ze
89120 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 64 72 22 20 ro.Bit.Types</a>.<a.class="hdr".
89140 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 href="#Zero-Bit-Types">..</a></h
89160 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 6f 6d 65 20 74 79 70 65 73 2c 20 3c 61 20 2>........<p>For.some.types,.<a.
89180 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 69 73 20 30 3a href="#sizeOf">@sizeOf</a>.is.0:
891a0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 </p>.......<ul>...........<li><a
891c0 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 20 20 20 20 .href="#void">void</a></li>.....
891e0 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 ......<li>The.<a.href="#Integers
89200 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ">Integers</a>.<code><span.class
89220 3d 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
89240 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 0</span></span></code>.and.<code
89260 3e 3c 73 70 61 6e 20 63 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=
89280 22 74 6f 6b 2d 74 79 70 65 22 3e 69 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-type">i0</span></span></cod
892a0 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 e>.</li>...........<li><a.href="
892c0 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d #Arrays">Arrays</a>.and.<a.href=
892e0 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 77 69 74 68 20 6c 65 6e 20 "#Vectors">Vectors</a>.with.len.
89300 30 2c 20 6f 72 20 77 69 74 68 20 61 6e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 74 68 61 74 20 0,.or.with.an.element.type.that.
89320 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 20 20 is.a.zero.bit.type.</li>........
89340 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f ...<li>An.<a.href="#enum">enum</
89360 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 74 61 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 a>.with.only.1.tag.</li>........
89380 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 ...<li>A.<a.href="#struct">struc
893a0 74 3c 2f 61 3e 20 77 69 74 68 20 61 6c 6c 20 66 69 65 6c 64 73 20 62 65 69 6e 67 20 7a 65 72 6f t</a>.with.all.fields.being.zero
893c0 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 .bit.types.</li>...........<li>A
893e0 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 77 69 74 68 .<a.href="#union">union</a>.with
89400 20 6f 6e 6c 79 20 31 20 66 69 65 6c 64 20 77 68 69 63 68 20 69 73 20 61 20 7a 65 72 6f 20 62 69 .only.1.field.which.is.a.zero.bi
89420 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 t.type.</li>...........<li><a.hr
89440 65 66 3d 22 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 ef="#Pointers-to-Zero-Bit-Types"
89460 3e 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 >Pointers.to.Zero.Bit.Types</a>.
89480 61 72 65 20 74 68 65 6d 73 65 6c 76 65 73 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f are.themselves.zero.bit.types.</
894a0 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>.......
894c0 54 68 65 73 65 20 74 79 70 65 73 20 63 61 6e 20 6f 6e 6c 79 20 65 76 65 72 20 68 61 76 65 20 6f These.types.can.only.ever.have.o
894e0 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 75 73 0a 20 20 20 20 ne.possible.value,.and.thus.....
89500 20 20 72 65 71 75 69 72 65 20 30 20 62 69 74 73 20 74 6f 20 72 65 70 72 65 73 65 6e 74 2e 20 43 ..require.0.bits.to.represent..C
89520 6f 64 65 20 74 68 61 74 20 6d 61 6b 65 73 20 75 73 65 20 6f 66 20 74 68 65 73 65 20 74 79 70 65 ode.that.makes.use.of.these.type
89540 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 66 s.is.......not.included.in.the.f
89560 69 6e 61 6c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a inal.generated.code:.......</p>.
89580 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=
895a0 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
895c0 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
895e0 6f 64 65 3e 3c 73 70 61 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
89600 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 6e 20 ss="tok-kw">export</span>.<span.
89620 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
89640 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 lass="tok-fn">entry</span>().<sp
89660 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>.
89680 7b 3c 2f 73 70 61 6e 3e 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">....
896a0 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>.
896c0 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 76 6f 69 64 3c 2f x:.<span.class="tok-type">void</
896e0 73 70 61 6e 3e 20 3d 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 span>.=.{};</span>.<span.class="
89700 6c 69 6e 65 22 3e 20 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
89720 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 74 79 ar</span>.y:.<span.class="tok-ty
89740 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 73 70 pe">void</span>.=.{};</span>.<sp
89760 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 3d 20 79 3b 3c 2f 73 70 61 6e an.class="line">....x.=.y;</span
89780 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
897a0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 ode></pre></figure>.......<p>Whe
897c0 6e 20 74 68 69 73 20 74 75 72 6e 73 20 69 6e 74 6f 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 2c 20 n.this.turns.into.machine.code,.
897e0 74 68 65 72 65 20 69 73 20 6e 6f 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 20 69 6e 20 74 68 there.is.no.code.generated.in.th
89800 65 0a 20 20 20 20 20 20 62 6f 64 79 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 e.......body.of.<code><span.clas
89820 73 3d 22 6c 69 6e 65 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 76 s="line">entry</span></code>,.ev
89840 65 6e 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e en.in.<a.href="#Debug">Debug</a>
89860 20 6d 6f 64 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 20 78 38 36 5f 36 34 3a 3c 2f .mode..For.example,.on.x86_64:</
89880 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 p>.......<pre><code>000000000000
898a0 30 30 31 30 20 26 6c 74 3b 65 6e 74 72 79 26 67 74 3b 3a 0a 20 20 31 30 3a 09 35 35 20 20 20 20 0010.&lt;entry&gt;:...10:.55....
898c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 75 73 68 20 20 20 25 72 62 70 0a 20 20 31 31 ................push...%rbp...11
898e0 3a 09 34 38 20 38 39 20 65 35 20 20 20 20 20 20 20 20 20 20 20 20 20 09 6d 6f 76 20 20 20 20 25 :.48.89.e5..............mov....%
89900 72 73 70 2c 25 72 62 70 0a 20 20 31 34 3a 09 35 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsp,%rbp...14:.5d...............
89920 20 20 20 20 09 70 6f 70 20 20 20 20 25 72 62 70 0a 20 20 31 35 3a 09 63 33 20 20 20 20 20 20 20 .....pop....%rbp...15:.c3.......
89940 20 20 20 20 20 20 20 20 20 20 20 20 09 72 65 74 71 20 20 20 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 .............retq...</code></pre
89960 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 61 73 73 65 6d 62 6c 79 20 69 6e 73 74 72 75 >.......<p>These.assembly.instru
89980 63 74 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 63 6f 64 65 20 61 73 73 6f ctions.do.not.have.any.code.asso
899a0 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 73 20 2d 0a 20 20 ciated.with.the.void.values.-...
899c0 20 20 20 20 74 68 65 79 20 6f 6e 6c 79 20 70 65 72 66 6f 72 6d 20 74 68 65 20 66 75 6e 63 74 69 ....they.only.perform.the.functi
899e0 6f 6e 20 63 61 6c 6c 20 70 72 6f 6c 6f 67 75 65 20 61 6e 64 20 65 70 69 6c 6f 67 2e 3c 2f 70 3e on.call.prologue.and.epilog.</p>
89a00 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f 69 64 22 3e 3c 61 20 68 72 65 66 3d 22 6e ........<h3.id="void"><a.href="n
89a20 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 20 3c 61 20 63 av.xhtml#toc-void">void</a>.<a.c
89a40 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 2f 61 3e 3c 2f lass="hdr".href="#void">..</a></
89a60 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 3c 73 70 61 6e h3>........<p>.......<code><span
89a80 20 63 6c 61 73 73 3d 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
89aa0 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 63 ype">void</span></span></code>.c
89ac0 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 69 6e 67 20 67 an.be.useful.for.instantiating.g
89ae0 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 67 69 76 65 6e eneric.types..For.example,.given
89b00 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .a...........<code><span.class="
89b20 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 3e 3c 2f 63 6f line">Map(Key,.Value)</span></co
89b40 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 61 6e 20 63 6c de>,.one.can.pass.<code><span.cl
89b60 61 73 73 3d 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
89b80 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 66 6f 72 20 ">void</span></span></code>.for.
89ba0 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 56 61 6c the.<code><span.class="line">Val
89bc0 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 20 20 20 20 20 ue</span></code>................
89be0 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 20 61 20 3c 63 .......type.to.make.it.into.a.<c
89c00 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 2f 73 70 61 6e ode><span.class="line">Set</span
89c20 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 3c 66 69 67 75 ></code>:.......</p>.......<figu
89c40 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"><
89c60 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 61 73 68 6d 61 cite.class="file">void_in_hashma
89c80 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 p.zig</cite></figcaption><pre><c
89ca0 6f 64 65 3e 3c 73 70 61 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
89cc0 73 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.=.<
89ce0 73 70 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
89d00 3c 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
89d20 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
89d40 70 61 6e 20 63 6c 61 73 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
89d60 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
89d80 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
89da0 73 73 3d 22 6c 69 6e 65 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
89dc0 69 6e 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</
89de0 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
89e00 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 20 76 t;turn.HashMap.into.a.set.with.v
89e20 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 73 70 61 6e 20 oid&quot;</span>.{</span>.<span.
89e40 63 6c 61 73 73 3d 22 6c 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
89e60 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 41 75 74 6f 48 k-kw">var</span>.map.=.std.AutoH
89e80 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 65 22 3e 69 33 ashMap(<span.class="tok-type">i3
89ea0 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 74 79 70 65 22 2</span>,.<span.class="tok-type"
89ec0 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 69 6e 67 2e 61 >void</span>).init(std.testing.a
89ee0 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 73 73 3d 22 6c llocator);</span>.<span.class="l
89f00 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 ine">....<span.class="tok-kw">de
89f20 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 70 61 6e 3e 0a fer</span>.map.deinit();</span>.
89f40 3c 73 70 61 6e 20 63 6c 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
89f60 20 63 6c 61 73 73 3d 22 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
89f80 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 73 70 61 6e 20 ok-kw">try</span>.map.put(<span.
89fa0 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 7b 7d 29 class="tok-number">1</span>,.{})
89fc0 3b 3c 2f 73 70 61 6e 3e 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">....
89fe0 3c 73 70 61 6e 20 63 6c 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>.
8a000 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 6d 62 65 72 22 map.put(<span.class="tok-number"
8a020 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 6e 20 63 6c 61 >2</span>,.{});</span>.<span.cla
8a040 73 73 3d 22 6c 69 6e 65 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
8a060 69 6e 65 22 3e 20 20 20 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
8a080 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 73 28 3c 73 70 y</span>.expect(map.contains(<sp
8a0a0 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 29 an.class="tok-number">2</span>))
8a0c0 3b 3c 2f 73 70 61 6e 3e 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">....
8a0e0 3c 73 70 61 6e 20 63 6c 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>.
8a100 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 63 6c 61 73 73 expect(!map.contains(<span.class
8a120 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 73 70 61 6e 3e ="tok-number">3</span>));</span>
8a140 0a 3c 73 70 61 6e 20 63 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
8a160 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 72 65 6d 6f 76 n.class="line">...._.=.map.remov
8a180 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 32 3c 2f 73 70 e(<span.class="tok-number">2</sp
8a1a0 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">
8a1c0 20 20 20 20 3c 73 70 61 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
8a1e0 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 63 an>.expect(!map.contains(<span.c
8a200 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 lass="tok-number">2</span>));</s
8a220 70 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>
8a240 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
8a260 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
8a280 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
8a2a0 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 6f 69 64 lass="line">$.<kbd>zig.test.void
8a2c0 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 3e 0a 3c 73 70 _in_hashmap.zig</kbd></span>.<sp
8a2e0 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 74 an.class="line">1/1.test.&quot;t
8a300 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 20 76 6f 69 64 urn.HashMap.into.a.set.with.void
8a320 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=
8a340 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
8a360 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>.......<
8a380 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 p>Note.that.this.is.different.fr
8a3a0 6f 6d 20 75 73 69 6e 67 20 61 20 64 75 6d 6d 79 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 68 om.using.a.dummy.value.for.the.h
8a3c0 61 73 68 20 6d 61 70 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 42 79 20 75 73 69 6e 67 20 3c 63 ash.map.value........By.using.<c
8a3e0 6f 64 65 3e 3c 73 70 61 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
8a400 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 6e 3e ss="tok-type">void</span></span>
8a420 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 76 61 6c 75 65 </code>.as.the.type.of.the.value
8a440 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 61 73 20 6e 6f ,.the.hash.map.entry.type.has.no
8a460 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 73 20 74 68 65 .value.field,.and.......thus.the
8a480 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 63 65 2e 20 46 .hash.map.takes.up.less.space..F
8a4a0 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 65 61 6c 73 20 urther,.all.the.code.that.deals.
8a4c0 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 65 0a 20 20 20 with.storing.and.loading.the....
8a4e0 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 6e 20 61 62 6f ...value.is.deleted,.as.seen.abo
8a500 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 20 20 20 20 3c ve........</p>.......<p>.......<
8a520 63 6f 64 65 3e 3c 73 70 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
8a540 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 6e ass="tok-type">void</span></span
8a560 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 63 6f 64 65 3e ></code>.is.distinct.from.<code>
8a580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e 3e <span.class="line">c_void</span>
8a5a0 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 20 63 6c 61 73 73 </code>........<code><span.class
8a5c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 ="line"><span.class="tok-type">v
8a5e0 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 61 73 20 61 20 6b oid</span></span></code>.has.a.k
8a600 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 3c 63 6f 64 65 3e nown.size.of.0.bytes,.and.<code>
8a620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e 3e <span.class="line">c_void</span>
8a640 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 6e 20 75 6e 6b 6e 6f 77 6e 2c 20 62 75 74 20 6e 6f 6e 2d </code>.has.an.unknown,.but.non-
8a660 7a 65 72 6f 2c 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e zero,.size........</p>.......<p>
8a680 0a 20 20 20 20 20 20 45 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 .......Expressions.of.type.<code
8a6a0 3e 3c 73 70 61 6e 20 63 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=
8a6c0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-type">void</span></span></c
8a6e0 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 6f 73 65 20 76 61 6c ode>.are.the.only.ones.whose.val
8a700 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 61 6d 70 6c 65 3a 0a ue.can.be.ignored..For.example:.
8a720 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
8a740 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
8a760 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 74 ="file">test.zig</cite></figcapt
8a780 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
8a7a0 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
8a7c0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 n>.<span.class="tok-str">&quot;i
8a7e0 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 71 75 6f 74 3b 3c 2f gnoring.expression.value&quot;</
8a800 73 70 61 6e 3e 20 7b 3c 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
8a820 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 20 63 6c 61 73 73 3d ">....foo();</span>.<span.class=
8a840 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
8a860 65 22 3e 3c 2f 73 70 61 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
8a880 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
8a8a0 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 3c an.class="tok-fn">foo</span>().<
8a8c0 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>
8a8e0 20 7b 3c 2f 73 70 61 6e 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">...
8a900 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
8a920 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
8a940 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
8a960 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
8a980 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
8a9a0 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><
8a9c0 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
8a9e0 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 73 ig.test.test.zig</kbd></span>.<s
8aa00 70 61 6e 20 63 6c 61 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 pan.class="line"><span.class="t0
8aa20 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 32 3a 38 3a 20 3c _1">./docgen_tmp/test.zig:2:8:.<
8aa40 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:
8aa60 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 78 70 72 65 .</span><span.class="t0_1">expre
8aa80 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 70 61 6e 3e 3c 2f 73 ssion.value.is.ignored</span></s
8aaa0 70 61 6e 3e 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 pan>.<span.class="line">....foo(
8aac0 29 3b 3c 2f 73 70 61 6e 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">...
8aae0 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>
8ab00 3c 2f 73 70 61 6e 3e 0a 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
8ab20 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.
8ab40 7a 69 67 3a 31 3a 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 zig:1:34:.</span><span.class="t3
8ab60 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
8ab80 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 0_1">referenced.here</span></spa
8aba0 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 75 6f 74 n>.<span.class="line">test.&quot
8abc0 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 71 75 6f 74 3b ;ignoring.expression.value&quot;
8abe0 20 7b 3c 2f 73 70 61 6e 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">...
8ac00 20 20 20 20 20 20 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
8ac20 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
8ac40 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>.......<
8ac60 70 3e 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 p>However,.if.the.expression.has
8ac80 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"><
8aca0 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
8acc0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 6e ></span></code>,.there.will.be.n
8ace0 6f 20 65 72 72 6f 72 2e 20 46 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 o.error..Function.return.values.
8ad00 63 61 6e 20 61 6c 73 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 65 64 20 62 can.also.be.explicitly.ignored.b
8ad20 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 y.assigning.them.to.<code><span.
8ad40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 2f class="line">_</span></code>..</
8ad60 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
8ad80 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">
8ada0 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 void_ignored.zig</cite></figcapt
8adc0 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
8ade0 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
8ae00 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 76 n>.<span.class="tok-str">&quot;v
8ae20 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 oid.is.ignored&quot;</span>.{</s
8ae40 70 61 6e 3e 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
8ae60 72 6e 73 56 6f 69 64 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 rnsVoid();</span>.<span.class="l
8ae80 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"
8aea0 3e 3c 2f 73 70 61 6e 3e 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
8aec0 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
8aee0 61 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 6c 69 63 69 an.class="tok-str">&quot;explici
8af00 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 71 75 tly.ignoring.expression.value&qu
8af20 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=
8af40 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "line">...._.=.foo();</span>.<sp
8af60 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
8af80 6c 61 73 73 3d 22 6c 69 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=
8afa0 22 6c 69 6e 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</
8afc0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 74 75 72 span>.<span.class="tok-fn">retur
8afe0 6e 73 56 6f 69 64 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b nsVoid</span>().<span.class="tok
8b000 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -type">void</span>.{}</span>.<sp
8b020 61 6e 20 63 6c 61 73 73 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
8b040 61 73 73 3d 22 6c 69 6e 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">
8b060 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
8b080 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 oo</span>().<span.class="tok-typ
8b0a0 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
8b0c0 73 73 3d 22 6c 69 6e 65 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
8b0e0 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
8b100 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">1234</span>;</span>.<s
8b120 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>
8b140 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
8b160 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
8b180 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
8b1a0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 6f 69 64 5f 69 67 6e 6f 72 65 ine">$.<kbd>zig.test.void_ignore
8b1c0 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="
8b1e0 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 76 6f 69 64 20 69 73 20 69 67 6e line">1/2.test.&quot;void.is.ign
8b200 6f 72 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 6c ored&quot;....OK</span>.<span.cl
8b220 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 65 78 70 6c 69 63 ass="line">2/2.test.&quot;explic
8b240 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 71 itly.ignoring.expression.value&q
8b260 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
8b280 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 2f 73 70 61 6e 3e 0a ine">All.2.tests.passed.</span>.
8b2a0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 </samp></pre></figure>..........
8b2c0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 .....<h3.id="Pointers-to-Zero-Bi
8b2e0 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d t-Types"><a.href="nav.xhtml#toc-
8b300 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 6e Pointers-to-Zero-Bit-Types">Poin
8b320 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 61 20 63 6c ters.to.Zero.Bit.Types</a>.<a.cl
8b340 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 2d 5a 65 72 ass="hdr".href="#Pointers-to-Zer
8b360 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 20 20 20 20 o-Bit-Types">..</a></h3>........
8b380 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 73 20 61 6c <p>Pointers.to.zero.bit.types.al
8b3a0 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 79 73 20 63 so.have.zero.bits..They.always.c
8b3c0 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 2f 70 3e 0a ompare.equal.to.each.other:</p>.
8b3e0 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=
8b400 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 6f 69 "zig-cap"><cite.class="file">poi
8b420 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 3e 3c 2f 66 nters_to_zero_bits.zig</cite></f
8b440 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
8b460 3d 22 6c 69 6e 65 22 3e 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
8b480 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
8b4a0 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
8b4c0 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;</
8b4e0 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
8b500 22 3e 3c 73 70 61 6e 20 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
8b520 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;
8b540 3c 2f 73 70 61 6e 3e 0a 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
8b560 6e 3e 0a 3c 73 70 61 6e 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
8b580 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
8b5a0 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 65 6d ss="tok-str">&quot;pointer.to.em
8b5c0 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 70 61 6e 3e pty.struct&quot;</span>.{</span>
8b5e0 0a 3c 73 70 61 6e 20 63 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
8b600 61 73 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.
8b620 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
8b640 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
8b660 65 22 3e 20 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<
8b680 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 73 70 61 6e /span>.a.=.Empty{};</span>.<span
8b6a0 20 63 6c 61 73 73 3d 22 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
8b6c0 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 7d 3b 3c 2f ok-kw">var</span>.b.=.Empty{};</
8b6e0 73 70 61 6e 3e 0a 3c 73 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
8b700 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 74 72 an.class="tok-kw">var</span>.ptr
8b720 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 61 73 73 3d _a.=.&amp;a;</span>.<span.class=
8b740 22 6c 69 6e 65 22 3e 20 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">
8b760 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 73 70 61 6e var</span>.ptr_b.=.&amp;b;</span
8b780 3e 0a 3c 73 70 61 6e 20 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
8b7a0 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 3c 73 lass="tok-kw">comptime</span>.<s
8b7c0 70 61 6e 20 63 6c 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
8b7e0 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 0a 3c 73 70 pect(ptr_a.==.ptr_b);</span>.<sp
8b800 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><
8b820 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
8b840 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
8b860 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
8b880 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 5f 74 6f 5f ne">$.<kbd>zig.test.pointers_to_
8b8a0 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 73 70 61 6e zero_bits.zig</kbd></span>.<span
8b8c0 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 70 6f 69 .class="line">1/1.test.&quot;poi
8b8e0 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 2e 20 4f 4b nter.to.empty.struct&quot;....OK
8b900 3c 2f 73 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
8b920 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
8b940 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 70 65 20 62 re></figure>.......<p>The.type.b
8b960 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 72 20 62 65 eing.pointed.to.can.only.ever.be
8b980 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 61 6e 64 20 .one.value;.therefore.loads.and.
8b9a0 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 61 74 65 64 stores.are.......never.generated
8b9c0 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 6e 74 3c 2f ..<a.href="#ptrToInt">ptrToInt</
8b9e0 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 6e 74 54 6f a>.and.<a.href="#intToPtr">intTo
8ba00 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 0a 20 20 20 Ptr</a>.are.not.allowed:</p>....
8ba20 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
8ba40 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
8ba60 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
8ba80 3e 3c 73 70 61 6e 20 63 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=
8baa0 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 3d 20 3c 73 "tok-kw">const</span>.Empty.=.<s
8bac0 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>
8bae0 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 3c .{};</span>.<span.class="line"><
8bb00 2f 73 70 61 6e 3e 0a 3c 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.
8bb20 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
8bb40 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 74 .class="tok-str">&quot;@ptrToInt
8bb60 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 65 26 71 75 .for.pointer.to.zero.bit.type&qu
8bb80 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=
8bba0 22 6c 69 6e 65 22 3e 20 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">
8bbc0 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>.<
8bbe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 span.class="line">...._.=.<span.
8bc00 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
8bc20 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 6c 61 73 73 pan>(&amp;a);</span>.<span.class
8bc40 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
8bc60 6e 65 22 3e 3c 2f 73 70 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"><
8bc80 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>.
8bca0 3c 73 70 61 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 69 6e 74 <span.class="tok-str">&quot;@int
8bcc0 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 74 20 74 79 ToPtr.for.pointer.to.zero.bit.ty
8bce0 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 20 63 pe&quot;</span>.{</span>.<span.c
8bd00 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 3d lass="line">...._.=.<span.class=
8bd20 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 6e 3e 28 2a "tok-builtin">@intToPtr</span>(*
8bd40 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 65 72 22 3e Empty,.<span.class="tok-number">
8bd60 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 61 73 73 3d 0x1</span>);</span>.<span.class=
8bd80 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
8bda0 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="
8bdc0 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
8bde0 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
8be00 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 6e 3e d>zig.test.test.zig</kbd></span>
8be20 0a 3c 73 70 61 6e 20 63 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=
8be40 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 34 3a 35 "t0_1">./docgen_tmp/test.zig:4:5
8be60 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
8be80 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 70 6f or:.</span><span.class="t0_1">po
8bea0 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 61 64 64 72 inter.to.size.0.type.has.no.addr
8bec0 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 73 3d 22 6c ess</span></span>.<span.class="l
8bee0 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 70 61 6e 3e ine">....var.a.=.Empty{};</span>
8bf00 0a 3c 73 70 61 6e 20 63 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
8bf20 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
8bf40 6e 20 63 6c 61 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
8bf60 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 39 3a 20 3c 2f 73 ">./docgen_tmp/test.zig:5:9:.</s
8bf80 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:.</
8bfa0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 span><span.class="t0_1">referenc
8bfc0 65 64 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 ed.here</span></span>.<span.clas
8bfe0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 40 70 74 72 54 6f 49 6e 74 28 26 61 6d 70 3b s="line">...._.=.@ptrToInt(&amp;
8c000 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">..
8c020 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
8c040 6e 3e 3c 2f 73 70 61 6e 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
8c060 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
8c080 74 2e 7a 69 67 3a 39 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig:9:19:.</span><span.class="
8c0a0 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 73 t31_1">error:.</span><span.class
8c0c0 3d 22 74 30 5f 31 22 3e 74 79 70 65 20 27 2a 45 6d 70 74 79 27 20 68 61 73 20 30 20 62 69 74 73 ="t0_1">type.'*Empty'.has.0.bits
8c0e0 20 61 6e 64 20 63 61 6e 6e 6f 74 20 73 74 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 73 .and.cannot.store.information</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 5f 20 3d 20 40 69 6e 74 54 6f 50 74 72 28 2a 45 6d 70 74 79 2c 20 30 78 31 29 3b 3c 2f ..._.=.@intToPtr(*Empty,.0x1);</
8c140 73 70 61 6e 3e 0a 3c 73 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">.......
8c160 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">^
8c180 3c 2f 73 70 61 6e 3e 3c 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
8c1a0 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
8c1c0 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 61 6e 20 63 6c 61 p/test.zig:9:9:.</span><span.cla
8c1e0 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
8c200 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e ass="t0_1">referenced.here</span
8c220 3e 3c 2f 73 70 61 6e 3e 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">....
8c240 5f 20 3d 20 40 69 6e 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 _.=.@intToPtr(*Empty,.0x1);</spa
8c260 6e 3e 0a 3c 73 70 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
8c280 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
8c2a0 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>........
8c2c0 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 4c 6f 63 ..............<h2.id="Result-Loc
8c2e0 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 6e 61 76 2e 78 68 ation-Semantics"><a.href="nav.xh
8c300 74 6d 6c 23 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 tml#toc-Result-Location-Semantic
8c320 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e s">Result.Location.Semantics</a>
8c340 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f .<a.class="hdr".href="#Result-Lo
8c360 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 cation-Semantics">..</a></h2>...
8c380 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f .....<p>.......<a.href="https://
8c3a0 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 32 38 github.com/ziglang/zig/issues/28
8c3c0 30 39 22 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 09">TODO.add.documentation.for.t
8c3e0 68 69 73 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 his</a>.......</p>..............
8c400 20 3c 68 32 20 69 64 3d 22 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 .<h2.id="usingnamespace"><a.href
8c420 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e ="nav.xhtml#toc-usingnamespace">
8c440 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 usingnamespace</a>.<a.class="hdr
8c460 22 20 68 72 65 66 3d 22 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c ".href="#usingnamespace">..</a><
8c480 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 /h2>........<p>.......<code><spa
8c4a0 6e 20 63 6c 61 73 73 3d 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-
8c4c0 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 6e 3e kw">usingnamespace</span></span>
8c4e0 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 61 74 20 6d 69 </code>.is.a.declaration.that.mi
8c500 78 65 73 20 61 6c 6c 20 74 68 65 20 70 75 62 6c 69 63 0a 20 20 20 20 20 20 64 65 63 6c 61 72 61 xes.all.the.public.......declara
8c520 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 20 77 68 69 63 68 20 6d 75 73 74 tions.of.the.operand,.which.must
8c540 20 62 65 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 2f .be.a.<a.href="#struct">struct</
8c560 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 3c 2f 61 3e 2c 20 a>,.<a.href="#union">union</a>,.
8c580 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 0a 20 20 20 20 20 20 <a.href="#enum">enum</a>,.......
8c5a0 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 2c or.<a.href="#opaque">opaque</a>,
8c5c0 20 69 6e 74 6f 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a .into.the.namespace:.......</p>.
8c5e0 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=
8c600 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 75 73 69 "zig-cap"><cite.class="file">usi
8c620 6e 67 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ngnamespace.zig</cite></figcapti
8c640 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"
8c660 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
8c680 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 >.<span.class="tok-str">&quot;us
8c6a0 69 6e 67 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ing.std.namespace&quot;</span>.{
8c6c0 3c 2f 73 70 61 6e 3e 0a 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">....<
8c6e0 73 70 61 6e 20 63 6c 61 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>
8c700 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 .S.=.<span.class="tok-kw">struct
8c720 3c 2f 73 70 61 6e 3e 20 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
8c740 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"
8c760 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 >usingnamespace</span>.<span.cla
8c780 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>(
8c7a0 3c 73 70 61 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&
8c7c0 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
8c7e0 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
8c800 73 73 3d 22 6c 69 6e 65 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
8c820 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 53 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c w">try</span>.S.testing.expect(<
8c840 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
8c860 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">}<
8c880 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
8c8a0 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
8c8c0 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><
8c8e0 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
8c900 74 20 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e t.usingnamespace.zig</kbd></span
8c920 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
8c940 75 6f 74 3b 75 73 69 6e 67 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 26 71 75 6f 74 3b 2e 2e 2e uot;using.std.namespace&quot;...
8c960 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
8c980 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>
8c9a0 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>.......
8c9c0 3c 63 6f 64 65 3e 3c 73 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
8c9e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 lass="tok-kw">usingnamespace</sp
8ca00 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 6e 20 69 6d 70 6f 72 74 61 an></span></code>.has.an.importa
8ca20 6e 74 20 75 73 65 20 63 61 73 65 20 77 68 65 6e 20 6f 72 67 61 6e 69 7a 69 6e 67 20 74 68 65 20 nt.use.case.when.organizing.the.
8ca40 70 75 62 6c 69 63 0a 20 20 20 20 20 20 41 50 49 20 6f 66 20 61 20 66 69 6c 65 20 6f 72 20 70 61 public.......API.of.a.file.or.pa
8ca60 63 6b 61 67 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 65 20 6d 69 67 68 74 20 68 61 ckage..For.example,.one.might.ha
8ca80 76 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 2e 7a 69 67 3c 2f 63 6f 64 ve.<code.class="file">c.zig</cod
8caa0 65 3e 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 e>.with.all.of.the.......<a.href
8cac0 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 43 20 ="#Import-from-C-Header-File">C.
8cae0 69 6d 70 6f 72 74 73 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 imports</a>:.......</p>.......<f
8cb00 69 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
8cb20 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 2e 7a 69 67 3c 2f 63 69 74 65 "><cite.class="file">c.zig</cite
8cb40 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
8cb60 6c 61 73 73 3d 22 6c 69 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"
8cb80 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"
8cba0 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 >usingnamespace</span>.<span.cla
8cbc0 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 3e ss="tok-builtin">@cImport</span>
8cbe0 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 3e 20 20 20 ({</span>.<span.class="line">...
8cc00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 .<span.class="tok-builtin">@cInc
8cc20 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 lude</span>(<span.class="tok-str
8cc40 22 3e 26 71 75 6f 74 3b 65 70 6f 78 79 2f 67 6c 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 ">&quot;epoxy/gl.h&quot;</span>)
8cc60 3b 3c 2f 73 70 61 6e 3e 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">....
8cc80 3c 73 70 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
8cca0 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"
8ccc0 3e 26 71 75 6f 74 3b 47 4c 46 57 2f 67 6c 66 77 33 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e >&quot;GLFW/glfw3.h&quot;</span>
8cce0 29 3b 3c 2f 73 70 61 6e 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">...
8cd00 20 3c 73 70 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
8cd20 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"
8cd40 3e 26 71 75 6f 74 3b 53 54 42 49 5f 4f 4e 4c 59 5f 50 4e 47 26 71 75 6f 74 3b 3c 2f 73 70 61 6e >&quot;STBI_ONLY_PNG&quot;</span
8cd60 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 26 >,.<span.class="tok-str">&quot;&
8cd80 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
8cda0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 s="line">....<span.class="tok-bu
8cdc0 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 iltin">@cDefine</span>(<span.cla
8cde0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 54 42 49 5f 4e 4f 5f 53 54 44 49 4f ss="tok-str">&quot;STBI_NO_STDIO
8ce00 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d &quot;</span>,.<span.class="tok-
8ce20 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 2f 73 70 61 6e str">&quot;&quot;</span>);</span
8ce40 3e 0a 3c 73 70 61 6e 20 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
8ce60 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
8ce80 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;
8cea0 73 74 62 5f 69 6d 61 67 65 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e stb_image.h&quot;</span>);</span
8cec0 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 3e 3c >.<span.class="line">});</span><
8cee0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a /code></pre></figure>.......<p>.
8cf00 20 20 20 20 20 20 54 68 65 20 61 62 6f 76 65 20 65 78 61 6d 70 6c 65 20 64 65 6d 6f 6e 73 74 72 ......The.above.example.demonstr
8cf20 61 74 65 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ates.using.<code><span.class="li
8cf40 6e 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
8cf60 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 71 75 61 6c 69 66 79 20 74 68 65 an></span></code>.to.qualify.the
8cf80 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">
8cfa0 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
8cfc0 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 61 64 64 69 74 69 6f ace</span></span></code>.additio
8cfe0 6e 61 6c 6c 79 20 6d 61 6b 65 73 20 74 68 65 20 69 6d 70 6f 72 74 65 64 20 64 65 63 6c 61 72 61 nally.makes.the.imported.declara
8d000 74 69 6f 6e 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 tions.......<code><span.class="l
8d020 69 6e 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
8d040 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 pan></span></code>..This.can.be.
8d060 75 73 65 64 20 74 6f 20 66 6f 72 77 61 72 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 67 69 used.to.forward.declarations,.gi
8d080 76 69 6e 67 20 70 72 65 63 69 73 65 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 6f 76 65 72 20 ving.precise.control.......over.
8d0a0 77 68 61 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 20 67 69 76 65 6e 20 66 69 6c 65 20 65 what.declarations.a.given.file.e
8d0c0 78 70 6f 73 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 0a 20 20 20 20 xposes........</p>..............
8d0e0 20 20 3c 68 32 20 69 64 3d 22 63 6f 6d 70 74 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 ..<h2.id="comptime"><a.href="nav
8d100 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 .xhtml#toc-comptime">comptime</a
8d120 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 >.<a.class="hdr".href="#comptime
8d140 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a ">..</a></h2>........<p>.......Z
8d160 69 67 20 70 6c 61 63 65 73 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 6e 20 74 68 65 20 63 6f 6e 63 ig.places.importance.on.the.conc
8d180 65 70 74 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 ept.of.whether.an.expression.is.
8d1a0 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 known.at.compile-time........The
8d1c0 72 65 20 61 72 65 20 61 20 66 65 77 20 64 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 73 20 74 68 re.are.a.few.different.places.th
8d1e0 69 73 20 63 6f 6e 63 65 70 74 20 69 73 20 75 73 65 64 2c 20 61 6e 64 20 74 68 65 73 65 20 62 75 is.concept.is.used,.and.these.bu
8d200 69 6c 64 69 6e 67 20 62 6c 6f 63 6b 73 20 61 72 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 ilding.blocks.are.used.......to.
8d220 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 2c 20 72 65 61 64 61 62 6c keep.the.language.small,.readabl
8d240 65 2c 20 61 6e 64 20 70 6f 77 65 72 66 75 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e,.and.powerful........</p>.....
8d260 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c ..<h3.id="Introducing-the-Compil
8d280 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 e-Time-Concept"><a.href="nav.xht
8d2a0 6d 6c 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 ml#toc-Introducing-the-Compile-T
8d2c0 69 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 ime-Concept">Introducing.the.Com
8d2e0 70 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 pile-Time.Concept</a>.<a.class="
8d300 68 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 hdr".href="#Introducing-the-Comp
8d320 69 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 ile-Time-Concept">..</a></h3>...
8d340 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 .....<h4.id="Compile-Time-Parame
8d360 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d ters"><a.href="nav.xhtml#toc-Com
8d380 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 pile-Time-Parameters">Compile-Ti
8d3a0 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 me.Parameters</a>.<a.class="hdr"
8d3c0 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 .href="#Compile-Time-Parameters"
8d3e0 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f >..</a></h4>........<p>.......Co
8d400 6d 70 69 6c 65 2d 74 69 6d 65 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 68 6f 77 20 5a 69 67 mpile-time.parameters.is.how.Zig
8d420 20 69 6d 70 6c 65 6d 65 6e 74 73 20 67 65 6e 65 72 69 63 73 2e 20 49 74 20 69 73 20 63 6f 6d 70 .implements.generics..It.is.comp
8d440 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ile-time.duck.typing........</p>
8d460 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
8d480 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
8d4a0 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><
8d4c0 63 6f 64 65 3e 3c 73 70 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
8d4e0 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
8d500 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ss="tok-fn">max</span>(<span.cla
8d520 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:.<
8d540 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
8d560 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >,.a:.T,.b:.T).T.{</span>.<span.
8d580 63 6c 61 73 73 3d 22 6c 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
8d5a0 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=
8d5c0 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 "tok-kw">if</span>.(a.&gt;.b).a.
8d5e0 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>
8d600 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 3c .b;</span>.<span.class="line">}<
8d620 2f 73 70 61 6e 3e 0a 3c 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.
8d640 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
8d660 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 46 6c 6f 61 lass="tok-fn">gimmeTheBiggerFloa
8d680 74 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>(a:.<span.class="tok-typ
8d6a0 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 e">f32</span>,.b:.<span.class="t
8d6c0 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">f32</span>).<span.class
8d6e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-type">f32</span>.{</span>.
8d700 3c 73 70 61 6e 20 63 6c 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
8d720 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 ss="tok-kw">return</span>.max(<s
8d740 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>,
8d760 20 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .a,.b);</span>.<span.class="line
8d780 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
8d7a0 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
8d7c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 an.class="tok-fn">gimmeTheBigger
8d7e0 49 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 Integer</span>(a:.<span.class="t
8d800 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c ok-type">u64</span>,.b:.<span.cl
8d820 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ass="tok-type">u64</span>).<span
8d840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f .class="tok-type">u64</span>.{</
8d860 73 70 61 6e 3e 0a 3c 73 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
8d880 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>.
8d8a0 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f max(<span.class="tok-type">u64</
8d8c0 73 70 61 6e 3e 2c 20 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>,.a,.b);</span>.<span.class
8d8e0 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
8d900 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 74 igure>.......<p>.......In.Zig,.t
8d920 79 70 65 73 20 61 72 65 20 66 69 72 73 74 2d 63 6c 61 73 73 20 63 69 74 69 7a 65 6e 73 2e 20 54 ypes.are.first-class.citizens..T
8d940 68 65 79 20 63 61 6e 20 62 65 20 61 73 73 69 67 6e 65 64 20 74 6f 20 76 61 72 69 61 62 6c 65 73 hey.can.be.assigned.to.variables
8d960 2c 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 66 75 6e 63 74 69 ,.passed.as.parameters.to.functi
8d980 6f 6e 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 66 75 6e ons,.......and.returned.from.fun
8d9a0 63 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 65 79 20 63 61 6e 20 6f 6e 6c 79 20 62 ctions..However,.they.can.only.b
8d9c0 65 20 75 73 65 64 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 69 63 68 20 61 72 65 20 e.used.in.expressions.which.are.
8d9e0 6b 6e 6f 77 6e 20 61 74 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 65 6d 3e 2c 0a known.at.<em>compile-time</em>,.
8da00 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 77 68 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 ......which.is.why.the.parameter
8da20 20 3c 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 .<code><span.class="line">T</spa
8da40 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 6d n></code>.in.the.above.snippet.m
8da60 75 73 74 20 62 65 20 6d 61 72 6b 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ust.be.marked.with.<code><span.c
8da80 6c 61 73 73 3d 22 6c 69 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"
8daa0 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 2e 0a >comptime</span></span></code>..
8dac0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 63 6f ......</p>.......<p>.......A.<co
8dae0 64 65 3e 3c 73 70 61 6e 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
8db00 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
8db20 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 20 74 68 61 74 3a 0a 20 ></code>.parameter.means.that:..
8db40 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 .....</p>.......<ul>.........<li
8db60 3e 41 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 >At.the.callsite,.the.value.must
8db80 20 62 65 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f 72 20 69 74 .be.known.at.compile-time,.or.it
8dba0 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .is.a.compile.error.</li>.......
8dbc0 20 20 3c 6c 69 3e 49 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e ..<li>In.the.function.definition
8dbe0 2c 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d ,.the.value.is.known.at.compile-
8dc00 74 69 6d 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e time.</li>.......</ul>.......<p>
8dc20 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 77 65 20 77 65 72 65 20 74 .......For.example,.if.we.were.t
8dc40 6f 20 69 6e 74 72 6f 64 75 63 65 20 61 6e 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 o.introduce.another.function.to.
8dc60 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 the.above.snippet:.......</p>...
8dc80 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
8dca0 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.
8dcc0 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
8dce0 65 3e 3c 73 70 61 6e 20 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
8dd00 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=
8dd20 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d "tok-fn">max</span>(<span.class=
8dd40 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
8dd60 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>,.
8dd80 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 a:.T,.b:.T).T.{</span>.<span.cla
8dda0 73 73 3d 22 6c 69 6e 65 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
8ddc0 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
8dde0 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 70 k-kw">if</span>.(a.&gt;.b).a.<sp
8de00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b an.class="tok-kw">else</span>.b;
8de20 3c 2f 73 70 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
8de40 61 6e 3e 0a 3c 73 70 61 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
8de60 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
8de80 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 70 61 73 73 20 ass="tok-str">&quot;try.to.pass.
8dea0 61 20 72 75 6e 74 69 6d 65 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 a.runtime.type&quot;</span>.{</s
8dec0 70 61 6e 3e 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 pan>.<span.class="line">....foo(
8dee0 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
8df00 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">
8df20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 }</span>.<span.class="line"><spa
8df40 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
8df60 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 63 6f 6e 64 69 .class="tok-fn">foo</span>(condi
8df80 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 22 3e 62 6f 6f tion:.<span.class="tok-type">boo
8dfa0 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 l</span>).<span.class="tok-type"
8dfc0 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
8dfe0 73 3d 22 6c 69 6e 65 22 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
8e000 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 6d 61 78 28 3c 2f 73 70 ">const</span>.result.=.max(</sp
8e020 61 6e 3e 0a 3c 73 70 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">........<
8e040 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 63 span.class="tok-kw">if</span>.(c
8e060 6f 6e 64 69 74 69 6f 6e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ondition).<span.class="tok-type"
8e080 3e 66 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 6b 77 22 >f32</span>.<span.class="tok-kw"
8e0a0 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 74 79 >else</span>.<span.class="tok-ty
8e0c0 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe">u64</span>,</span>.<span.cla
8e0e0 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
8e100 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 3e 0a 3c ok-number">1234</span>,</span>.<
8e120 73 70 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.
8e140 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 29 3b class="tok-number">5678</span>);
8e160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f </span>.<span.class="line">...._
8e180 20 3d 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 6c .=.result;</span>.<span.class="l
8e1a0 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
8e1c0 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
8e1e0 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>
8e200 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>
8e220 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>.<
8e240 73 70 61 6e 20 63 6c 61 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
8e260 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 39 3a 20 0_1">./docgen_tmp/test.zig:9:9:.
8e280 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 72 </span><span.class="t31_1">error
8e2a0 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 76 61 6c 75 :.</span><span.class="t0_1">valu
8e2c0 65 73 20 6f 66 20 74 79 70 65 20 27 74 79 70 65 27 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 es.of.type.'type'.must.be.compti
8e2e0 6d 65 20 6b 6e 6f 77 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 me.known</span></span>.<span.cla
8e300 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 ss="line">........if.(condition)
8e320 20 66 33 32 20 65 6c 73 65 20 75 36 34 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .f32.else.u64,</span>.<span.clas
8e340 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 33 s="line">........<span.class="t3
8e360 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
8e380 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 69 73 e></figure>.......<p>.......This
8e3a0 20 69 73 20 61 6e 20 65 72 72 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d .is.an.error.because.the.program
8e3c0 6d 65 72 20 61 74 74 65 6d 70 74 65 64 20 74 6f 20 70 61 73 73 20 61 20 76 61 6c 75 65 20 6f 6e mer.attempted.to.pass.a.value.on
8e3e0 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 2d 74 69 6d 65 0a 20 20 20 20 20 20 74 6f 20 61 20 ly.known.at.run-time.......to.a.
8e400 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 65 78 70 65 63 74 73 20 61 20 76 61 6c 75 65 20 6b function.which.expects.a.value.k
8e420 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e nown.at.compile-time........</p>
8e440 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 .......<p>.......Another.way.to.
8e460 67 65 74 20 61 6e 20 65 72 72 6f 72 20 69 73 20 69 66 20 77 65 20 70 61 73 73 20 61 20 74 79 70 get.an.error.is.if.we.pass.a.typ
8e480 65 20 74 68 61 74 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 74 79 70 65 20 63 68 65 63 6b 65 72 e.that.violates.the.type.checker
8e4a0 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c .when.the.......function.is.anal
8e4c0 79 7a 65 64 2e 20 54 68 69 73 20 69 73 20 77 68 61 74 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 yzed..This.is.what.it.means.to.h
8e4e0 61 76 65 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 ave.<em>compile-time.duck.typing
8e500 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>.....
8e520 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ..For.example:.......</p>.......
8e540 3c 66 69 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
8e560 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 3c ap"><cite.class="file">test.zig<
8e580 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
8e5a0 70 61 6e 20 63 6c 61 73 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
8e5c0 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
8e5e0 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b -fn">max</span>(<span.class="tok
8e600 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
8e620 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 ass="tok-type">type</span>,.a:.T
8e640 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.b:.T).T.{</span>.<span.class="
8e660 6c 69 6e 65 22 3e 20 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
8e680 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 eturn</span>.<span.class="tok-kw
8e6a0 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 ">if</span>.(a.&gt;.b).a.<span.c
8e6c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 lass="tok-kw">else</span>.b;</sp
8e6e0 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>.
8e700 3c 73 70 61 6e 20 63 6c 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="
8e720 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=
8e740 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 "tok-str">&quot;try.to.compare.b
8e760 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ools&quot;</span>.{</span>.<span
8e780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d 61 78 28 3c 73 70 61 6e 20 .class="line">...._.=.max(<span.
8e7a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 class="tok-type">bool</span>,.<s
8e7c0 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>
8e7e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f ,.<span.class="tok-null">false</
8e800 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
8e820 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>
8e840 3c 66 69 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
8e860 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
8e880 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
8e8a0 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
8e8c0 6e 20 63 6c 61 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
8e8e0 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f ">./docgen_tmp/test.zig:2:18:.</
8e900 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:.
8e920 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 72 61 74 </span><span.class="t0_1">operat
8e940 6f 72 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f 6c 27 3c 2f or.not.allowed.for.type.'bool'</
8e960 73 70 61 6e 3e 3c 2f 73 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">
8e980 20 20 20 20 72 65 74 75 72 6e 20 69 66 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 65 6c 73 65 20 ....return.if.(a.&gt;.b).a.else.
8e9a0 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 20 b;</span>.<span.class="line">...
8e9c0 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
8e9e0 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
8ea00 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
8ea20 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _tmp/test.zig:5:12:.</span><span
8ea40 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
8ea60 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<
8ea80 2f 73 70 61 6e 3e 3c 2f 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"
8eaa0 3e 20 20 20 20 5f 20 3d 20 6d 61 78 28 62 6f 6f 6c 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 29 3b >...._.=.max(bool,.true,.false);
8eac0 3c 2f 73 70 61 6e 3e 0a 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">.....
8eae0 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
8eb00 6e 3e 3c 2f 73 70 61 6e 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
8eb20 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
8eb40 74 2e 7a 69 67 3a 34 3a 32 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig:4:29:.</span><span.class="
8eb60 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=
8eb80 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></
8eba0 73 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
8ebc0 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 20 7b uot;try.to.compare.bools&quot;.{
8ebe0 3c 2f 73 70 61 6e 3e 0a 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">.....
8ec00 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
8ec20 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 6d ss="t32_1">^</span></span>.</sam
8ec40 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>.....
8ec60 20 20 4f 6e 20 74 68 65 20 66 6c 69 70 20 73 69 64 65 2c 20 69 6e 73 69 64 65 20 74 68 65 20 66 ..On.the.flip.side,.inside.the.f
8ec80 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 unction.definition.with.the.<cod
8eca0 65 3e 3c 73 70 61 6e 20 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
8ecc0 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>
8ece0 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c </code>.parameter,.the.......val
8ed00 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 ue.is.known.at.compile-time..Thi
8ed20 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 61 63 74 75 61 6c 6c 79 20 63 6f 75 6c 64 20 6d s.means.that.we.actually.could.m
8ed40 61 6b 65 20 74 68 69 73 20 77 6f 72 6b 20 66 6f 72 20 74 68 65 20 62 6f 6f 6c 20 74 79 70 65 0a ake.this.work.for.the.bool.type.
8ed60 20 20 20 20 20 20 69 66 20 77 65 20 77 61 6e 74 65 64 20 74 6f 3a 0a 20 20 20 20 20 20 3c 2f 70 ......if.we.wanted.to:.......</p
8ed80 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
8eda0 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
8edc0 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 63 69 74 65 3e omptime_max_with_bool.zig</cite>
8ede0 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
8ee00 61 73 73 3d 22 6c 69 6e 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">
8ee20 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
8ee40 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
8ee60 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
8ee80 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
8eea0 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">
8eec0 20 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
8eee0 6e 3e 20 28 54 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e n>.(T.==.<span.class="tok-type">
8ef00 62 6f 6f 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 bool</span>).{</span>.<span.clas
8ef20 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
8ef40 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">return</span>.a.<span.clas
8ef60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c s="tok-kw">or</span>.b;</span>.<
8ef80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c span.class="line">....}.<span.cl
8efa0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">else</span>.<span.c
8efc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 lass="tok-kw">if</span>.(a.&gt;.
8efe0 62 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 b).{</span>.<span.class="line">.
8f000 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
8f020 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rn</span>.a;</span>.<span.class=
8f040 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 "line">....}.<span.class="tok-kw
8f060 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 63 6c 61 ">else</span>.{</span>.<span.cla
8f080 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
8f0a0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-kw">return</span>.b;</span>.<
8f0c0 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>.<
8f0e0 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
8f100 20 63 6c 61 73 73 3d 22 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
8f120 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-
8f140 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 str">&quot;try.to.compare.bools&
8f160 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
8f180 73 3d 22 6c 69 6e 65 22 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
8f1a0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ">try</span>.<span.class="tok-bu
8f1c0 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
8f1e0 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
8f200 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 n>).testing.expect(max(<span.cla
8f220 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ss="tok-type">bool</span>,.<span
8f240 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-null">false</span>,.
8f260 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
8f280 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 n>).==.<span.class="tok-null">tr
8f2a0 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 3d 22 ue</span>);</span>.<span.class="
8f2c0 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
8f2e0 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
8f300 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
8f320 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
8f340 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c >zig.test.comptime_max_with_bool
8f360 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
8f380 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 ine">1/1.test.&quot;try.to.compa
8f3a0 72 65 20 62 6f 6f 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 re.bools&quot;....OK</span>.<spa
8f3c0 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
8f3e0 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>
8f400 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 .......<p>.......This.works.beca
8f420 75 73 65 20 5a 69 67 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 73 20 3c 63 6f 64 65 use.Zig.implicitly.inlines.<code
8f440 3e 3c 73 70 61 6e 20 63 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=
8f460 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 6f 64 65 3e "tok-kw">if</span></span></code>
8f480 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 0a .expressions.when.the.condition.
8f4a0 20 20 20 20 20 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 ......is.known.at.compile-time,.
8f4c0 61 6e 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 and.the.compiler.guarantees.that
8f4e0 20 69 74 20 77 69 6c 6c 20 73 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f 66 0a 20 20 20 20 20 20 .it.will.skip.analysis.of.......
8f500 74 68 65 20 62 72 61 6e 63 68 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e the.branch.not.taken........</p>
8f520 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 .......<p>.......This.means.that
8f540 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 .the.actual.function.generated.f
8f560 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 6d 61 78 3c or.<code><span.class="line">max<
8f580 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 /span></code>.in.this.situation.
8f5a0 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 looks.like.......this:.......</p
8f5c0 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
8f5e0 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
8f600 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>
8f620 3c 63 6f 64 65 3e 3c 73 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
8f640 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
8f660 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e ass="tok-fn">max</span>(a:.<span
8f680 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 20 62 .class="tok-type">bool</span>,.b
8f6a0 3a 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
8f6c0 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f pan>).<span.class="tok-type">boo
8f6e0 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 3d 22 6c l</span>.{</span>.<span.class="l
8f700 69 6e 65 22 3e 20 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
8f720 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b turn</span>.a.<span.class="tok-k
8f740 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 w">or</span>.b;</span>.<span.cla
8f760 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><
8f780 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 6c 20 74 68 65 /figure>.......<p>.......All.the
8f7a0 20 63 6f 64 65 20 74 68 61 74 20 64 65 61 6c 74 20 77 69 74 68 20 63 6f 6d 70 69 6c 65 2d 74 69 .code.that.dealt.with.compile-ti
8f7c0 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 20 69 73 20 65 6c 69 6d 69 6e 61 74 65 64 20 61 6e me.known.values.is.eliminated.an
8f7e0 64 20 77 65 20 61 72 65 20 6c 65 66 74 20 77 69 74 68 20 6f 6e 6c 79 0a 20 20 20 20 20 20 74 68 d.we.are.left.with.only.......th
8f800 65 20 6e 65 63 65 73 73 61 72 79 20 72 75 6e 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 61 63 63 e.necessary.run-time.code.to.acc
8f820 6f 6d 70 6c 69 73 68 20 74 68 65 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 omplish.the.task........</p>....
8f840 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65 ...<p>.......This.works.the.same
8f860 20 77 61 79 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .way.for.<code><span.class="line
8f880 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 "><span.class="tok-kw">switch</s
8f8a0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 2d pan></span></code>.expressions.-
8f8c0 20 74 68 65 79 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 64 0a 20 20 20 .they.are.implicitly.inlined....
8f8e0 20 20 20 77 68 65 6e 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 ...when.the.target.expression.is
8f900 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a .compile-time.known........</p>.
8f920 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d .............<h4.id="Compile-Tim
8f940 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 e-Variables"><a.href="nav.xhtml#
8f960 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 3e 43 6f 6d 70 toc-Compile-Time-Variables">Comp
8f980 69 6c 65 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ile-Time.Variables</a>.<a.class=
8f9a0 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 "hdr".href="#Compile-Time-Variab
8f9c0 6c 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 0a 20 20 20 20 les">..</a></h4>........<p>.....
8f9e0 20 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 20 6c 61 62 ..In.Zig,.the.programmer.can.lab
8fa00 65 6c 20 76 61 72 69 61 62 6c 65 73 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 el.variables.as.<code><span.clas
8fa20 73 3d 22 6c 69 6e 65 22 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
8fa40 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 2e 20 54 68 69 mptime</span></span></code>..Thi
8fa60 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 s.guarantees.to.the.compiler....
8fa80 20 20 20 74 68 61 74 20 65 76 65 72 79 20 6c 6f 61 64 20 61 6e 64 20 73 74 6f 72 65 20 6f 66 20 ...that.every.load.and.store.of.
8faa0 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 63 6f 6d the.variable.is.performed.at.com
8fac0 70 69 6c 65 2d 74 69 6d 65 2e 20 41 6e 79 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 pile-time..Any.violation.of.this
8fae0 20 72 65 73 75 6c 74 73 20 69 6e 20 61 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f .results.in.a.......compile.erro
8fb00 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
8fb20 69 73 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 77 is.combined.with.the.fact.that.w
8fb40 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e.can.<code><span.class="line"><
8fb60 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
8fb80 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 61 6c 6c 6f 77 73 20 75 73 20 ></span></code>.loops.allows.us.
8fba0 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 to.write.......a.function.which.
8fbc0 69 73 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c is.partially.evaluated.at.compil
8fbe0 65 2d 74 69 6d 65 20 61 6e 64 20 70 61 72 74 69 61 6c 6c 79 20 61 74 20 72 75 6e 2d 74 69 6d 65 e-time.and.partially.at.run-time
8fc00 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 ........</p>.......<p>.......For
8fc20 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 .example:.......</p>.......<figu
8fc40 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"><
8fc60 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 76 61 72 73 2e cite.class="file">comptime_vars.
8fc80 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
8fca0 65 3e 3c 73 70 61 6e 20 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
8fcc0 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.=.
8fce0 3c 73 70 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
8fd00 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">&
8fd20 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
8fd40 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"
8fd60 3e 3c 2f 73 70 61 6e 3e 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
8fd80 6e 20 63 6c 61 73 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 6d n.class="tok-kw">const</span>.Cm
8fda0 64 46 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 dFn.=.<span.class="tok-kw">struc
8fdc0 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
8fde0 69 6e 65 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">....name:.[]<span.class="to
8fe00 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="
8fe20 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tok-type">u8</span>,</span>.<spa
8fe40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 n.class="line">....func:.<span.c
8fe60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>(<span.cl
8fe80 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ass="tok-type">i32</span>).<span
8fea0 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 73 .class="tok-type">i32</span>,</s
8fec0 70 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
8fee0 3e 0a 3c 73 70 61 6e 20 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
8ff00 61 6e 20 63 6c 61 73 73 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
8ff20 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6d 64 5f 66 6e 73 20 3d 20 5b 5f 5d 43 -kw">const</span>.cmd_fns.=.[_]C
8ff40 6d 64 46 6e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e mdFn{</span>.<span.class="line">
8ff60 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ....CmdFn.{.name.=.<span.class="
8ff80 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c tok-str">&quot;one&quot;</span>,
8ffa0 20 2e 66 75 6e 63 20 3d 20 6f 6e 65 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ..func.=.one},</span>.<span.clas
8ffc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 s="line">....CmdFn.{.name.=.<spa
8ffe0 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 74 n.class="tok-str">&quot;two&quot
90000 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 77 6f 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c ;</span>,..func.=.two},</span>.<
90020 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 span.class="line">....CmdFn.{.na
90040 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 me.=.<span.class="tok-str">&quot
90060 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 68 72 ;three&quot;</span>,..func.=.thr
90080 65 65 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ee},</span>.<span.class="line">}
900a0 3b 3c 2f 73 70 61 6e 3e 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
900c0 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
900e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6f 6e 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 .class="tok-fn">one</span>(value
90100 3a 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
90120 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<
90140 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 /span>.{.<span.class="tok-kw">re
90160 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d turn</span>.value.+.<span.class=
90180 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a "tok-number">1</span>;.}</span>.
901a0 3c 73 70 61 6e 20 63 6c 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="
901c0 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
901e0 6f 6b 2d 66 6e 22 3e 74 77 6f 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 ok-fn">two</span>(value:.<span.c
90200 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
90220 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>.{.
90240 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
90260 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 n>.value.+.<span.class="tok-numb
90280 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">2</span>;.}</span>.<span.cla
902a0 73 73 3d 22 6c 69 6e 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
902c0 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 68 n</span>.<span.class="tok-fn">th
902e0 72 65 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ree</span>(value:.<span.class="t
90300 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
90320 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.{.<span.c
90340 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 lass="tok-kw">return</span>.valu
90360 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f e.+.<span.class="tok-number">3</
90380 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>;.}</span>.<span.class="lin
903a0 65 22 3e 3c 2f 73 70 61 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
903c0 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
903e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 an.class="tok-fn">performFn</spa
90400 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
90420 3c 2f 73 70 61 6e 3e 20 70 72 65 66 69 78 5f 63 68 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.prefix_char:.<span.class
90440 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 74 61 72 74 5f 76 61 6c ="tok-type">u8</span>,.start_val
90460 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f ue:.<span.class="tok-type">i32</
90480 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 span>).<span.class="tok-type">i3
904a0 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
904c0 69 6e 65 22 3e 20 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
904e0 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r</span>.result:.<span.class="to
90500 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 k-type">i32</span>.=.start_value
90520 3b 3c 2f 73 70 61 6e 3e 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">....
90540 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
90560 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
90580 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
905a0 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="
905c0 6c 69 6e 65 22 3e 20 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
905e0 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 nline</span>.<span.class="tok-kw
90600 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e 6c ">while</span>.(i.&lt;.cmd_fns.l
90620 65 6e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d en).:.(i.+=.<span.class="tok-num
90640 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">1</span>).{</span>.<span.cl
90660 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="
90680 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e 61 tok-kw">if</span>.(cmd_fns[i].na
906a0 6d 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 me[<span.class="tok-number">0</s
906c0 70 61 6e 3e 5d 20 3d 3d 20 70 72 65 66 69 78 5f 63 68 61 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c pan>].==.prefix_char).{</span>.<
906e0 73 70 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 span.class="line">............re
90700 73 75 6c 74 20 3d 20 63 6d 64 5f 66 6e 73 5b 69 5d 2e 66 75 6e 63 28 72 65 73 75 6c 74 29 3b 3c sult.=.cmd_fns[i].func(result);<
90720 2f 73 70 61 6e 3e 0a 3c 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">......
90740 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">..
90760 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">..
90780 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
907a0 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 3d pan>.result;</span>.<span.class=
907c0 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
907e0 65 22 3e 3c 2f 73 70 61 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
90800 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>.<
90820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 72 66 6f span.class="tok-str">&quot;perfo
90840 72 6d 20 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 rm.fn&quot;</span>.{</span>.<spa
90860 6e 20 63 6c 61 73 73 3d 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="
90880 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 tok-kw">try</span>.expect(perfor
908a0 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 74 27 3c 2f 73 mFn(<span.class="tok-str">'t'</s
908c0 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
908e0 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d </span>).==.<span.class="tok-num
90900 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">6</span>);</span>.<span.cla
90920 73 73 3d 22 6c 69 6e 65 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
90940 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c w">try</span>.expect(performFn(<
90960 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'o'</span>,
90980 20 3c 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
909a0 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).==.<span.class="tok-number">
909c0 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 1</span>);</span>.<span.class="l
909e0 69 6e 65 22 3e 20 20 20 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
90a00 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 y</span>.expect(performFn(<span.
90a20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-str">'w'</span>,.<spa
90a40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-number">99</span>).
90a60 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f ==.<span.class="tok-number">99</
90a80 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
90aa0 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>
90ac0 3c 66 69 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
90ae0 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
90b00 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
90b20 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 .test.comptime_vars.zig</kbd></s
90b40 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
90b60 20 26 71 75 6f 74 3b 70 65 72 66 6f 72 6d 20 66 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 .&quot;perform.fn&quot;....OK</s
90b80 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
90ba0 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>
90bc0 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 69 73 20 65 </figure>.......<p>.......This.e
90be0 78 61 6d 70 6c 65 20 69 73 20 61 20 62 69 74 20 63 6f 6e 74 72 69 76 65 64 2c 20 62 65 63 61 75 xample.is.a.bit.contrived,.becau
90c00 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 63 se.the.compile-time.evaluation.c
90c20 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 75 6e 6e 65 63 65 73 73 61 72 79 3b 0a 20 20 20 20 20 20 74 omponent.is.unnecessary;.......t
90c40 68 69 73 20 63 6f 64 65 20 77 6f 75 6c 64 20 77 6f 72 6b 20 66 69 6e 65 20 69 66 20 69 74 20 77 his.code.would.work.fine.if.it.w
90c60 61 73 20 61 6c 6c 20 64 6f 6e 65 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 20 42 75 74 20 69 74 20 as.all.done.at.run-time..But.it.
90c80 64 6f 65 73 20 65 6e 64 20 75 70 20 67 65 6e 65 72 61 74 69 6e 67 0a 20 20 20 20 20 20 64 69 66 does.end.up.generating.......dif
90ca0 66 65 72 65 6e 74 20 63 6f 64 65 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 ferent.code..In.this.example,.th
90cc0 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.function.<code><span.class="li
90ce0 6e 65 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 ne">performFn</span></code>.is.g
90d00 65 6e 65 72 61 74 65 64 20 74 68 72 65 65 20 64 69 66 66 65 72 65 6e 74 20 74 69 6d 65 73 2c 0a enerated.three.different.times,.
90d20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 ..........for.the.different.valu
90d40 65 73 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 70 es.of.<code><span.class="line">p
90d60 72 65 66 69 78 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 76 69 64 65 refix_char</span></code>.provide
90d80 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
90da0 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
90dc0 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f 31 3c 2f 63 69 74 65 3e 3c 2f 66 ass="file">performFn_1</cite></f
90de0 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
90e00 3d 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
90e20 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ">//.From.the.line:</span></span
90e40 3e 0a 3c 73 70 61 6e 20 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
90e60 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d ="tok-comment">//.expect(perform
90e80 46 6e 28 27 74 27 2c 20 31 29 20 3d 3d 20 36 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a Fn('t',.1).==.6);</span></span>.
90ea0 3c 73 70 61 6e 20 63 6c 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="
90ec0 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
90ee0 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 ok-fn">performFn</span>(start_va
90f00 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c lue:.<span.class="tok-type">i32<
90f20 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
90f40 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32</span>.{</span>.<span.class="
90f60 6c 69 6e 65 22 3e 20 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
90f80 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ar</span>.result:.<span.class="t
90fa0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 ok-type">i32</span>.=.start_valu
90fc0 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">...
90fe0 20 72 65 73 75 6c 74 20 3d 20 74 77 6f 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .result.=.two(result);</span>.<s
91000 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 68 pan.class="line">....result.=.th
91020 72 65 65 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 ree(result);</span>.<span.class=
91040 22 6c 69 6e 65 22 3e 20 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">
91060 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 0a 3c 73 70 return</span>.result;</span>.<sp
91080 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><
910a0 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
910c0 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
910e0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f 32 3c 2f 63 69 74 65 3e 3c 2f lass="file">performFn_2</cite></
91100 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
91120 73 3d 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
91140 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 t">//.From.the.line:</span></spa
91160 6e 3e 0a 3c 73 70 61 6e 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
91180 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 s="tok-comment">//.expect(perfor
911a0 6d 46 6e 28 27 6f 27 2c 20 30 29 20 3d 3d 20 31 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e mFn('o',.0).==.1);</span></span>
911c0 0a 3c 73 70 61 6e 20 63 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=
911e0 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="
91200 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 tok-fn">performFn</span>(start_v
91220 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
91240 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">
91260 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=
91280 22 6c 69 6e 65 22 3e 20 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">
912a0 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="
912c0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c tok-type">i32</span>.=.start_val
912e0 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ue;</span>.<span.class="line">..
91300 20 20 72 65 73 75 6c 74 20 3d 20 6f 6e 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ..result.=.one(result);</span>.<
91320 73 70 61 6e 20 63 6c 61 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
91340 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;
91360 3c 2f 73 70 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
91380 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>.......
913a0 3c 66 69 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
913c0 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 6e ap"><cite.class="file">performFn
913e0 5f 33 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 _3</cite></figcaption><pre><code
91400 3e 3c 73 70 61 6e 20 63 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=
91420 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 3c "tok-comment">//.From.the.line:<
91440 2f 73 70 61 6e 3e 3c 2f 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"
91460 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 78 ><span.class="tok-comment">//.ex
91480 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 77 27 2c 20 39 39 29 20 3d 3d 20 39 39 29 3b 3c pect(performFn('w',.99).==.99);<
914a0 2f 73 70 61 6e 3e 3c 2f 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"
914c0 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>.
914e0 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</
91500 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="
91520 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
91540 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>
91560 0a 3c 73 70 61 6e 20 63 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
91580 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:.
915a0 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
915c0 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
915e0 61 73 73 3d 22 6c 69 6e 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-
91600 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>
91620 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
91640 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 de></pre></figure>.......<p>....
91660 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 68 61 70 70 65 6e 73 20 65 76 65 6e 20 69 ...Note.that.this.happens.even.i
91680 6e 20 61 20 64 65 62 75 67 20 62 75 69 6c 64 3b 20 69 6e 20 61 20 72 65 6c 65 61 73 65 20 62 75 n.a.debug.build;.in.a.release.bu
916a0 69 6c 64 20 74 68 65 73 65 20 67 65 6e 65 72 61 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 73 74 ild.these.generated.functions.st
916c0 69 6c 6c 0a 20 20 20 20 20 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 72 69 67 6f 72 6f 75 73 20 ill.......pass.through.rigorous.
916e0 4c 4c 56 4d 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 20 54 68 65 20 69 6d 70 6f 72 74 61 6e LLVM.optimizations..The.importan
91700 74 20 74 68 69 6e 67 20 74 6f 20 6e 6f 74 65 2c 20 68 6f 77 65 76 65 72 2c 20 69 73 20 6e 6f 74 t.thing.to.note,.however,.is.not
91720 20 74 68 61 74 20 74 68 69 73 0a 20 20 20 20 20 20 69 73 20 61 20 77 61 79 20 74 6f 20 77 72 69 .that.this.......is.a.way.to.wri
91740 74 65 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a 65 64 20 63 6f 64 65 2c 20 62 75 74 20 74 68 61 74 te.more.optimized.code,.but.that
91760 20 69 74 20 69 73 20 61 20 77 61 79 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 77 .it.is.a.way.to.make.sure.that.w
91780 68 61 74 20 3c 65 6d 3e 73 68 6f 75 6c 64 3c 2f 65 6d 3e 20 68 61 70 70 65 6e 0a 20 20 20 20 20 hat.<em>should</em>.happen......
917a0 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 3c 65 6d 3e 64 6f 65 73 3c 2f 65 6d 3e 20 .at.compile-time,.<em>does</em>.
917c0 68 61 70 70 65 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 63 61 74 happen.at.compile-time..This.cat
917e0 63 68 65 73 20 6d 6f 72 65 20 65 72 72 6f 72 73 20 61 6e 64 20 61 73 20 64 65 6d 6f 6e 73 74 72 ches.more.errors.and.as.demonstr
91800 61 74 65 64 0a 20 20 20 20 20 20 6c 61 74 65 72 20 69 6e 20 74 68 69 73 20 61 72 74 69 63 6c 65 ated.......later.in.this.article
91820 2c 20 61 6c 6c 6f 77 73 20 65 78 70 72 65 73 73 69 76 65 6e 65 73 73 20 74 68 61 74 20 69 6e 20 ,.allows.expressiveness.that.in.
91840 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 20 72 65 71 75 69 72 65 73 20 75 73 69 6e 67 20 6d other.languages.requires.using.m
91860 61 63 72 6f 73 2c 0a 20 20 20 20 20 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 2c 20 6f 72 20 acros,.......generated.code,.or.
91880 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 2e 0a 20 20 a.preprocessor.to.accomplish....
918a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f ....</p>..............<h4.id="Co
918c0 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d mpile-Time-Expressions"><a.href=
918e0 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 "nav.xhtml#toc-Compile-Time-Expr
91900 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 6f 6e essions">Compile-Time.Expression
91920 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 6d 70 s</a>.<a.class="hdr".href="#Comp
91940 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 3c 2f 68 34 ile-Time-Expressions">..</a></h4
91960 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 74 20 6d 61 >........<p>.......In.Zig,.it.ma
91980 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 73 69 6f 6e tters.whether.a.given.expression
919a0 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 20 72 75 6e .is.known.at.compile-time.or.run
919c0 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 20 20 75 73 -time..A.programmer.can.......us
919e0 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 3c 73 70 e.a.<code><span.class="line"><sp
91a00 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
91a20 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 6f 20 67 75 ></span></code>.expression.to.gu
91a40 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 77 69 6c 6c arantee.that.the.expression.will
91a60 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 65 2e 0a 20 .be.evaluated.at.compile-time...
91a80 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 70 6c 69 73 .....If.this.cannot.be.accomplis
91aa0 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 61 6e 20 65 hed,.the.compiler.will.emit.an.e
91ac0 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 3e 0a 20 20 rror..For.example:.......</p>...
91ae0 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
91b00 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.
91b20 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
91b40 65 3e 3c 73 70 61 6e 20 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
91b60 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">extern</span>.<span.cl
91b80 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
91ba0 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 70 61 6e 20 ss="tok-fn">exit</span>().<span.
91bc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e class="tok-type">noreturn</span>
91be0 3b 3c 2f 73 70 61 6e 3e 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
91c00 61 6e 3e 0a 3c 73 70 61 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
91c20 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
91c40 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 ass="tok-str">&quot;foo&quot;</s
91c60 70 61 6e 3e 20 7b 3c 2f 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"
91c80 3e 20 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
91ca0 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="
91cc0 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 0a 3c 73 70 line">........exit();</span>.<sp
91ce0 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
91d00 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><
91d20 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
91d40 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
91d60 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
91d80 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 62 ne">$.<kbd>zig.test.test.zig</kb
91da0 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 70 d></span>.<span.class="line"><sp
91dc0 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
91de0 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 73 3d 22 74 t.zig:5:9:.</span><span.class="t
91e00 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=
91e20 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 6e 73 74 61 "t0_1">unable.to.evaluate.consta
91e40 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 3c 73 70 61 nt.expression</span></span>.<spa
91e60 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 29 3b 3c 2f n.class="line">........exit();</
91e80 73 70 61 6e 3e 0a 3c 73 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">.......
91ea0 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
91ec0 70 61 6e 3e 0a 3c 73 70 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
91ee0 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
91f00 3a 35 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 :5:13:.</span><span.class="t36_1
91f20 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 31 ">note:.</span><span.class="t0_1
91f40 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ">referenced.here</span></span>.
91f60 3c 73 70 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(
91f80 29 3b 3c 2f 73 70 61 6e 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">...
91fa0 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">^</
91fc0 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 75 span></span>.</samp></pre></figu
91fe0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 6e 27 74 20 6d re>.......<p>.......It.doesn't.m
92000 61 6b 65 20 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 ake.sense.that.a.program.could.c
92020 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 65 78 69 all.<code><span.class="line">exi
92040 74 28 29 3c 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 t()</span></code>.(or.any.other.
92060 65 78 74 65 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 external.function)...........at.
92080 63 6f 6d 70 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 compile-time,.so.this.is.a.compi
920a0 6c 65 20 65 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 le.error..However,.a.<code><span
920c0 20 63 6c 61 73 73 3d 22 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
920e0 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>
92100 20 65 78 70 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 .expression.does.much.......more
92120 20 74 68 61 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 .than.sometimes.cause.a.compile.
92140 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 error........</p>.......<p>.....
92160 20 20 57 69 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 ..Within.a.<code><span.class="li
92180 6e 65 22 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
921a0 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 69 6f e</span></span></code>.expressio
921c0 6e 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 n:.......</p>.......<ul>........
921e0 20 20 20 3c 6c 69 3e 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c ...<li>All.variables.are.<code><
92200 73 70 61 6e 20 63 6c 61 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
92220 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">comptime</span></span></c
92240 6f 64 65 3e 20 76 61 72 69 61 62 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ode>.variables.</li>...........<
92260 6c 69 3e 41 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e li>All.<code><span.class="line">
92280 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f <span.class="tok-kw">if</span></
922a0 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=
922c0 22 6c 69 6e 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 "line"><span.class="tok-kw">whil
922e0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 e</span></span></code>,.<code><s
92300 70 61 6e 20 63 6c 61 73 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
92320 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 2c 20 k-kw">for</span></span></code>,.
92340 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 73 70 and.<code><span.class="line"><sp
92360 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><
92380 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 65 78 70 72 65 73 73 69 /span></code>...........expressi
923a0 6f 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d ons.are.evaluated.at.compile-tim
923c0 65 2c 20 6f 72 20 65 6d 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 e,.or.emit.a.compile.error.if.th
923e0 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 is.is.not.possible.</li>........
92400 20 3c 6c 69 3e 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 75 73 65 20 74 68 .<li>All.function.calls.cause.th
92420 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 20 66 75 6e 63 e.compiler.to.interpret.the.func
92440 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 74 69 6e 67 20 61 tion.at.compile-time,.emitting.a
92460 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 ...........compile.error.if.the.
92480 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 function.tries.to.do.something.t
924a0 68 61 74 20 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 hat.has.global.run-time.side.eff
924c0 65 63 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e ects.</li>.......</ul>.......<p>
924e0 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d .......This.means.that.a.program
92500 6d 65 72 20 63 61 6e 20 63 72 65 61 74 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 mer.can.create.a.function.which.
92520 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 is.called.both.at.compile-time.a
92540 6e 64 20 72 75 6e 2d 74 69 6d 65 2c 20 77 69 74 68 0a 20 20 20 20 20 20 6e 6f 20 6d 6f 64 69 66 nd.run-time,.with.......no.modif
92560 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 64 ication.to.the.function.required
92580 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 4c 65 74 ........</p>.......<p>.......Let
925a0 27 73 20 6c 6f 6f 6b 20 61 74 20 61 6e 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 's.look.at.an.example:.......</p
925c0 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
925e0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 s="zig-cap"><cite.class="file">f
92600 69 62 6f 6e 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 ibonacci_recursion.zig</cite></f
92620 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
92640 3d 22 6c 69 6e 65 22 3e 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
92660 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="
92680 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
926a0 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
926c0 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>
926e0 0a 3c 73 70 61 6e 20 63 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
92700 6e 20 63 6c 61 73 73 3d 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-
92720 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
92740 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 3a 20 3c 73 70 61 6e n">fibonacci</span>(index:.<span
92760 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 73 .class="tok-type">u32</span>).<s
92780 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u32</span>.
927a0 7b 3c 2f 73 70 61 6e 3e 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">....
927c0 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>.(
927e0 69 6e 64 65 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 index.&lt;.<span.class="tok-numb
92800 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b er">2</span>).<span.class="tok-k
92820 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 73 70 61 6e 3e 0a 3c w">return</span>.index;</span>.<
92840 73 70 61 6e 20 63 6c 61 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
92860 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 s="tok-kw">return</span>.fibonac
92880 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ci(index.-.<span.class="tok-numb
928a0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 er">1</span>).+.fibonacci(index.
928c0 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 -.<span.class="tok-number">2</sp
928e0 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">
92900 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
92920 61 6e 3e 0a 3c 73 70 61 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
92940 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
92960 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 ass="tok-str">&quot;fibonacci&qu
92980 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=
929a0 22 6c 69 6e 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
929c0 65 6e 74 22 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 ent">//.test.fibonacci.at.run-ti
929e0 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 73 3d 22 6c 69 me</span></span>.<span.class="li
92a00 6e 65 22 3e 20 20 20 20 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
92a20 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 </span>.expect(fibonacci(<span.c
92a40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c lass="tok-number">7</span>).==.<
92a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e span.class="tok-number">13</span
92a80 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
92aa0 73 70 61 6e 3e 0a 3c 73 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
92ac0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 20 66 an.class="tok-comment">//.test.f
92ae0 69 62 6f 6e 61 63 63 69 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c ibonacci.at.compile-time</span><
92b00 2f 73 70 61 6e 3e 0a 3c 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
92b20 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
92b40 6e 3e 20 7b 3c 2f 73 70 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">.
92b60 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<
92b80 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c /span>.expect(fibonacci(<span.cl
92ba0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 ass="tok-number">7</span>).==.<s
92bc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e pan.class="tok-number">13</span>
92be0 29 3b 3c 2f 73 70 61 6e 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">...
92c00 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">}</
92c20 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
92c40 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"
92c60 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
92c80 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
92ca0 20 66 69 62 6f 6e 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f .fibonacci_recursion.zig</kbd></
92cc0 73 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
92ce0 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 20 4f 4b 3c 2f 73 t.&quot;fibonacci&quot;....OK</s
92d00 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
92d20 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>
92d40 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 6d 61 67 69 6e </figure>.......<p>.......Imagin
92d60 65 20 69 66 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 e.if.we.had.forgotten.the.base.c
92d80 61 73 65 20 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 ase.of.the.recursive.function.an
92da0 64 20 74 72 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 d.tried.to.run.the.tests:.......
92dc0 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
92de0 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
92e00 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
92e20 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
92e40 6e 20 63 6c 61 73 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
92e60 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 pect.=.<span.class="tok-builtin"
92e80 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
92ea0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 -str">&quot;std&quot;</span>).te
92ec0 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
92ee0 3d 22 6c 69 6e 65 22 3e 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
92f00 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
92f20 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 >.<span.class="tok-fn">fibonacci
92f40 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>(index:.<span.class="tok-
92f60 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>).<span.class="t
92f80 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
92fa0 61 6e 20 63 6c 61 73 73 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=
92fc0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 "tok-comment">//if.(index.&lt;.2
92fe0 29 20 72 65 74 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ).return.index;</span></span>.<s
93000 70 61 6e 20 63 6c 61 73 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
93020 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 ="tok-kw">return</span>.fibonacc
93040 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 i(index.-.<span.class="tok-numbe
93060 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d r">1</span>).+.fibonacci(index.-
93080 20 3c 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
930a0 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">}
930c0 3c 2f 73 70 61 6e 3e 0a 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
930e0 6e 3e 0a 3c 73 70 61 6e 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
93100 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
93120 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f ss="tok-str">&quot;fibonacci&quo
93140 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="
93160 6c 69 6e 65 22 3e 20 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
93180 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
931a0 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="
931c0 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 69 62 6f 6e 61 tok-kw">try</span>.expect(fibona
931e0 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f cci(<span.class="tok-number">7</
93200 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 span>).==.<span.class="tok-numbe
93220 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">13</span>);</span>.<span.clas
93240 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
93260 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></
93280 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
932a0 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><
932c0 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">$.<
932e0 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
93300 6e 3e 0a 3c 73 70 61 6e 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
93320 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
93340 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e :28:.</span><span.class="t31_1">
93360 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"
93380 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 73 70 61 6e >operation.caused.overflow</span
933a0 3e 3c 2f 73 70 61 6e 3e 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">....
933c0 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
933e0 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
93400 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">..................
93420 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">^</
93440 73 70 61 6e 3e 3c 2f 73 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">
93460 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/
93480 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
934a0 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
934c0 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
934e0 3e 3c 2f 73 70 61 6e 3e 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">....
93500 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
93520 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
93540 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">..................
93560 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></
93580 73 70 61 6e 3e 0a 3c 73 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
935a0 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
935c0 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_
935e0 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_
93600 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
93620 3e 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.
93640 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
93660 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=
93680 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
936a0 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>.<
936c0 73 70 61 6e 20 63 6c 61 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
936e0 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:
93700 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
93720 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
93740 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
93760 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
93780 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.
937a0 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">
937c0 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=
937e0 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
93800 61 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">./
93820 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 61 6e docgen_tmp/test.zig:5:21:.</span
93840 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 61 ><span.class="t36_1">note:.</spa
93860 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 6d n><span.class="t0_1">called.from
93880 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 3d .here</span></span>.<span.class=
938a0 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 65 "line">....return.fibonacci(inde
938c0 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 2f x.-.1).+.fibonacci(index.-.2);</
938e0 73 70 61 6e 3e 0a 3c 73 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">.......
93900 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"
93920 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
93940 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_
93960 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 20 tmp/test.zig:5:21:.</span><span.
93980 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 6e class="t36_1">note:.</span><span
939a0 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 2f .class="t0_1">called.from.here</
939c0 73 70 61 6e 3e 3c 2f 73 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">
939e0 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 20 ....return.fibonacci(index.-.1).
93a00 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 3c +.fibonacci(index.-.2);</span>.<
93a20 73 70 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">..............
93a40 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
93a60 6e 3e 3c 2f 73 70 61 6e 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
93a80 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
93aa0 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 22 t.zig:5:21:.</span><span.class="
93ac0 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=
93ae0 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></
93b00 73 70 61 6e 3e 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 span>.<span.class="line">....ret
93b20 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 6e urn.fibonacci(index.-.1).+.fibon
93b40 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 6c acci(index.-.2);</span>.<span.cl
93b60 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 3c ass="line">....................<
93b80 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
93ba0 6e 3e 0a 3c 73 70 61 6e 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
93bc0 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
93be0 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 3e :21:.</span><span.class="t36_1">
93c00 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 3e note:.</span><span.class="t0_1">
93c20 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 3c called.from.here</span></span>.<
93c40 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 62 span.class="line">....return.fib
93c60 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 6e onacci(index.-.1).+.fibonacci(in
93c80 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 69 dex.-.2);</span>.<span.class="li
93ca0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ne">....................<span.cl
93cc0 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
93ce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 n.class="line"><span.class="t0_1
93d00 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 30 3a 32 39 3a 20 3c ">./docgen_tmp/test.zig:10:29:.<
93d20 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:.
93d40 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
93d60 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
93d80 6c 61 73 73 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 lass="line">........try.expect(f
93da0 69 62 6f 6e 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 ibonacci(7).==.13);</span>.<span
93dc0 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">..................
93de0 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">^<
93e00 2f 73 70 61 6e 3e 3c 2f 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"
93e20 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
93e40 2f 74 65 73 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 /test.zig:8:18:.</span><span.cla
93e60 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
93e80 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 61 ass="t0_1">called.from.here</spa
93ea0 6e 3e 3c 2f 73 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 n></span>.<span.class="line">tes
93ec0 74 20 26 71 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 t.&quot;fibonacci&quot;.{</span>
93ee0 0a 3c 73 70 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">............
93f00 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
93f20 3e 3c 2f 73 70 61 6e 3e 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
93f40 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
93f60 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
93f80 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="
93fa0 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 t0_1">referenced.here</span></sp
93fc0 61 6e 3e 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
93fe0 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
94000 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
94020 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
94040 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>
94060 0a 3c 73 70 61 6e 20 63 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=
94080 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 31 30 3a "t0_1">./docgen_tmp/test.zig:10:
940a0 32 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 36 5f 31 22 3e 6e 29:.</span><span.class="t36_1">n
940c0 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 72 ote:.</span><span.class="t0_1">r
940e0 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 eferenced.here</span></span>.<sp
94100 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 72 79 20 65 78 70 65 an.class="line">........try.expe
94120 63 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 31 33 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ct(fibonacci(7).==.13);</span>.<
94140 73 70 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">..............
94160 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
94180 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><
941a0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d /figure>.......<p>.......The.com
941c0 70 69 6c 65 72 20 70 72 6f 64 75 63 65 73 20 61 6e 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 piler.produces.an.error.which.is
941e0 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 20 66 72 6f 6d 20 74 72 79 69 6e 67 20 74 6f 20 65 76 .a.stack.trace.from.trying.to.ev
94200 61 6c 75 61 74 65 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d aluate.the.......function.at.com
94220 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 0a pile-time........</p>.......<p>.
94240 20 20 20 20 20 20 4c 75 63 6b 69 6c 79 2c 20 77 65 20 75 73 65 64 20 61 6e 20 75 6e 73 69 67 6e ......Luckily,.we.used.an.unsign
94260 65 64 20 69 6e 74 65 67 65 72 2c 20 61 6e 64 20 73 6f 20 77 68 65 6e 20 77 65 20 74 72 69 65 64 ed.integer,.and.so.when.we.tried
94280 20 74 6f 20 73 75 62 74 72 61 63 74 20 31 20 66 72 6f 6d 20 30 2c 20 69 74 20 74 72 69 67 67 65 .to.subtract.1.from.0,.it.trigge
942a0 72 65 64 0a 20 20 20 20 20 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2c 20 77 68 red.......undefined.behavior,.wh
942c0 69 63 68 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 ich.is.always.a.compile.error.if
942e0 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6b 6e 6f 77 73 20 69 74 20 68 61 70 70 65 6e 65 64 2e .the.compiler.knows.it.happened.
94300 0a 20 20 20 20 20 20 42 75 74 20 77 68 61 74 20 77 6f 75 6c 64 20 68 61 76 65 20 68 61 70 70 65 .......But.what.would.have.happe
94320 6e 65 64 20 69 66 20 77 65 20 75 73 65 64 20 61 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3f ned.if.we.used.a.signed.integer?
94340 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
94360 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
94380 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
943a0 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
943c0 65 22 3e 3c 73 70 61 6e 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
943e0 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 pan>.expect.=.<span.class="tok-b
94400 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
94420 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
94440 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an>).testing.expect;</span>.<spa
94460 6e 20 63 6c 61 73 73 3d 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
94480 73 73 3d 22 6c 69 6e 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
944a0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 n</span>.<span.class="tok-fn">fi
944c0 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 bonacci</span>(index:.<span.clas
944e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>).<span.c
94500 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
94520 61 6e 3e 0a 3c 73 70 61 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
94540 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 .class="tok-comment">//if.(index
94560 20 26 6c 74 3b 20 32 29 20 72 65 74 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 .&lt;.2).return.index;</span></s
94580 70 61 6e 3e 0a 3c 73 70 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
945a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 n.class="tok-kw">return</span>.f
945c0 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 6f ibonacci(index.-.<span.class="to
945e0 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 28 k-number">1</span>).+.fibonacci(
94600 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 22 index.-.<span.class="tok-number"
94620 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="
94640 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
94660 22 3e 3c 2f 73 70 61 6e 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
94680 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
946a0 70 61 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 61 pan.class="tok-str">&quot;fibona
946c0 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 20 cci&quot;</span>.{</span>.<span.
946e0 63 6c 61 73 73 3d 22 6c 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
94700 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">comptime</span>.{</span>.<
94720 73 70 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.
94740 63 6c 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
94760 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 (fibonacci(<span.class="tok-numb
94780 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">7</span>).==.<span.class="to
947a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">13</span>);</span>.<sp
947c0 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
947e0 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><
94800 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
94820 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
94840 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
94860 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 62 ne">$.<kbd>zig.test.test.zig</kb
94880 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 70 d></span>.<span.class="line"><sp
948a0 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
948c0 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 22 t.zig:5:21:.</span><span.class="
948e0 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 73 t31_1">error:.</span><span.class
94900 3d 22 74 30 5f 31 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 ="t0_1">evaluation.exceeded.1000
94920 20 62 61 63 6b 77 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 .backwards.branches</span></span
94940 3e 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.
94960 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
94980 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=
949a0 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
949c0 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>.<
949e0 73 70 61 6e 20 63 6c 61 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
94a00 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:
94a20 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
94a40 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
94a60 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
94a80 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
94aa0 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.
94ac0 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">
94ae0 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=
94b00 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
94b20 61 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">./
94b40 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 61 6e docgen_tmp/test.zig:5:21:.</span
94b60 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 61 ><span.class="t36_1">note:.</spa
94b80 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 6d n><span.class="t0_1">called.from
94ba0 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 3d .here</span></span>.<span.class=
94bc0 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 65 "line">....return.fibonacci(inde
94be0 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 2f x.-.1).+.fibonacci(index.-.2);</
94c00 73 70 61 6e 3e 0a 3c 73 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">.......
94c20 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"
94c40 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
94c60 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_
94c80 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 20 tmp/test.zig:5:21:.</span><span.
94ca0 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 6e class="t36_1">note:.</span><span
94cc0 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 2f .class="t0_1">called.from.here</
94ce0 73 70 61 6e 3e 3c 2f 73 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">
94d00 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 20 ....return.fibonacci(index.-.1).
94d20 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 3c +.fibonacci(index.-.2);</span>.<
94d40 73 70 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">..............
94d60 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
94d80 6e 3e 3c 2f 73 70 61 6e 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
94da0 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
94dc0 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 22 t.zig:5:21:.</span><span.class="
94de0 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=
94e00 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></
94e20 73 70 61 6e 3e 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 span>.<span.class="line">....ret
94e40 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 6e urn.fibonacci(index.-.1).+.fibon
94e60 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 6c acci(index.-.2);</span>.<span.cl
94e80 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 3c ass="line">....................<
94ea0 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
94ec0 6e 3e 0a 3c 73 70 61 6e 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
94ee0 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
94f00 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 3e :21:.</span><span.class="t36_1">
94f20 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 3e note:.</span><span.class="t0_1">
94f40 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 3c called.from.here</span></span>.<
94f60 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 62 span.class="line">....return.fib
94f80 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 6e onacci(index.-.1).+.fibonacci(in
94fa0 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 69 dex.-.2);</span>.<span.class="li
94fc0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ne">....................<span.cl
94fe0 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
95000 6e 20 63 6c 61 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
95020 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 2f ">./docgen_tmp/test.zig:5:21:.</
95040 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 3c span><span.class="t36_1">note:.<
95060 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 20 /span><span.class="t0_1">called.
95080 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 6c from.here</span></span>.<span.cl
950a0 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 28 ass="line">....return.fibonacci(
950c0 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 32 index.-.1).+.fibonacci(index.-.2
950e0 29 3b 3c 2f 73 70 61 6e 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">...
95100 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
95120 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
95140 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
95160 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 73 gen_tmp/test.zig:5:21:.</span><s
95180 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><
951a0 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
951c0 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
951e0 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 2d ne">....return.fibonacci(index.-
95200 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 61 .1).+.fibonacci(index.-.2);</spa
95220 6e 3e 0a 3c 73 70 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">..........
95240 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">^<
95260 2f 73 70 61 6e 3e 3c 2f 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"
95280 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
952a0 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 61 /test.zig:5:21:.</span><span.cla
952c0 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
952e0 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 61 ass="t0_1">called.from.here</spa
95300 6e 3e 3c 2f 73 70 61 6e 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">...
95320 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 66 .return.fibonacci(index.-.1).+.f
95340 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 61 ibonacci(index.-.2);</span>.<spa
95360 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">.................
95380 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><
953a0 2f 73 70 61 6e 3e 0a 3c 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.
953c0 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
953e0 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 36 ig:5:21:.</span><span.class="t36
95400 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 30 _1">note:.</span><span.class="t0
95420 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 61 _1">called.from.here</span></spa
95440 6e 3e 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
95460 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 63 .fibonacci(index.-.1).+.fibonacc
95480 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 73 i(index.-.2);</span>.<span.class
954a0 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 61 ="line">....................<spa
954c0 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>.
954e0 3c 73 70 61 6e 20 63 6c 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="
95500 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 31 t0_1">./docgen_tmp/test.zig:5:21
95520 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
95540 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
95560 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
95580 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 61 n.class="line">....return.fibona
955a0 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 78 cci(index.-.1).+.fibonacci(index
955c0 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 22 .-.2);</span>.<span.class="line"
955e0 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
95600 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
95620 6c 61 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">.
95640 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 61 /docgen_tmp/test.zig:5:21:.</spa
95660 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
95680 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
956a0 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
956c0 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
956e0 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);<
95700 2f 73 70 61 6e 3e 0a 3c 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">......
95720 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
95740 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
95760 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
95780 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 6e 3e 3c 73 70 61 _tmp/test.zig:10:29:.</span><spa
957a0 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
957c0 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c an.class="t0_1">referenced.here<
957e0 2f 73 70 61 6e 3e 3c 2f 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"
95800 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 61 63 63 69 28 37 29 >........try.expect(fibonacci(7)
95820 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 73 73 3d 22 6c 69 6e .==.13);</span>.<span.class="lin
95840 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 20 3c e">............................<
95860 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
95880 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>.......
958a0 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 20 74 <p>.......The.compiler.noticed.t
958c0 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 74 20 hat.evaluating.this.function.at.
958e0 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 0a 20 compile-time.took.a.long.time,..
95900 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 65 20 .....and.thus.emitted.a.compile.
95920 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 72 61 error.and.gave.up..If.the.progra
95940 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 68 65 mmer.wants.to.increase.......the
95960 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 74 61 .budget.for.compile-time.computa
95980 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 66 75 tion,.they.can.use.a.built-in.fu
959a0 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 73 65 nction.called.......<a.href="#se
959c0 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 tEvalBranchQuota">@setEvalBranch
959e0 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 74 20 Quota</a>.to.change.the.default.
95a00 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 0a 20 number.1000.to.something.else...
95a20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 69 .....</p>.......<p>.......What.i
95a40 66 20 77 65 20 66 69 78 20 74 68 65 20 62 61 73 65 20 63 61 73 65 2c 20 62 75 74 20 70 75 74 20 f.we.fix.the.base.case,.but.put.
95a60 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 73 70 the.wrong.value.in.the.<code><sp
95a80 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 2f 63 an.class="line">expect</span></c
95aa0 6f 64 65 3e 20 6c 69 6e 65 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ode>.line?.......</p>.......<fig
95ac0 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">
95ae0 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
95b00 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.
95b20 63 6c 61 73 73 3d 22 6c 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
95b40 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
95b60 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>
95b80 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
95ba0 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;</
95bc0 73 70 61 6e 3e 0a 3c 73 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>
95be0 0a 3c 73 70 61 6e 20 63 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=
95c00 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="
95c20 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 3a 20 tok-fn">fibonacci</span>(index:.
95c40 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
95c60 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
95c80 70 61 6e 3e 20 7b 3c 2f 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"
95ca0 3e 20 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
95cc0 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 6f 6b an>.(index.&lt;.<span.class="tok
95ce0 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 3d 22 -number">2</span>).<span.class="
95d00 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 73 70 tok-kw">return</span>.index;</sp
95d20 61 6e 3e 0a 3c 73 70 61 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
95d40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 .class="tok-kw">return</span>.fi
95d60 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 6f 6b bonacci(index.-.<span.class="tok
95d80 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 28 69 -number">1</span>).+.fibonacci(i
95da0 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">
95dc0 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
95de0 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"
95e00 3e 3c 2f 73 70 61 6e 3e 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
95e20 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
95e40 61 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 61 63 an.class="tok-str">&quot;fibonac
95e60 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 20 63 ci&quot;</span>.{</span>.<span.c
95e80 6c 61 73 73 3d 22 6c 69 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
95ea0 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
95ec0 70 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
95ee0 6c 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(
95f00 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 fibonacci(<span.class="tok-numbe
95f20 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">7</span>).==.<span.class="tok
95f40 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 0a 3c -number">99999</span>);</span>.<
95f60 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>.<
95f80 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
95fa0 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
95fc0 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
95fe0 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="
96000 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</
96020 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
96040 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 2e 2e /1.test.&quot;fibonacci&quot;...
96060 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 20 46 .test.&quot;fibonacci&quot;....F
96080 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 61 6e AIL.(TestUnexpectedResult)</span
960a0 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 74 55 >.<span.class="line">FAIL.(TestU
960c0 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 63 6c nexpectedResult)</span>.<span.cl
960e0 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 3b 20 ass="line">0.passed;.0.skipped;.
96100 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 6c 69 1.failed.</span>.<span.class="li
96120 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 63 6f ne">error:.the.following.test.co
96140 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 3c 2f mmand.failed.with.exit.code.1:</
96160 73 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_
96180 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 tmp/zig-cache/o/8e4964e05ddaf866
961a0 65 37 37 33 36 30 61 35 35 31 62 33 63 30 35 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 e77360a551b3c05b/test./home/andy
961c0 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 /Downloads/zig/build-release/zig
961e0 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>..
96200 20 20 20 20 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 .....<p>.......What.happened.is.
96220 5a 69 67 20 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 Zig.started.interpreting.the.<co
96240 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 70 65 63 74 3c 2f 73 70 de><span.class="line">expect</sp
96260 61 6e 3e 3c 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 an></code>.function.with.the....
96280 20 20 20 20 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 .......parameter.<code><span.cla
962a0 73 73 3d 22 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 ss="line">ok</span></code>.set.t
962c0 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 61 6e o.<code><span.class="line"><span
962e0 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></
96300 73 70 61 6e 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 span></code>..When.the.interpret
96320 65 72 20 68 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 er.hit...................<code><
96340 73 70 61 6e 20 63 6c 61 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
96360 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 3c 2f 73 70 61 6e 3e ok-builtin">@panic</span></span>
96380 3c 2f 63 6f 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 </code>.it.emitted.a.compile.err
963a0 6f 72 20 62 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 or.because.a.panic.during.compil
963c0 65 0a 20 20 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 e.......causes.a.compile.error.i
963e0 66 20 69 74 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 f.it.is.detected.at.compile-time
96400 2e 0a 20 20 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 ........</p>........<p>.......At
96420 20 63 6f 6e 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 .container.level.(outside.of.any
96440 20 66 75 6e 63 74 69 6f 6e 29 2c 20 61 6c 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 .function),.all.expressions.are.
96460 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 implicitly.......<code><span.cla
96480 73 73 3d 22 6c 69 6e 65 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
964a0 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
964c0 72 65 73 73 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 63 61 6e ressions..This.means.that.we.can
964e0 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 .use.functions.to.......initiali
96500 7a 65 20 63 6f 6d 70 6c 65 78 20 73 74 61 74 69 63 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d ze.complex.static.data..For.exam
96520 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
96540 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.
96560 63 6c 61 73 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 class="file">N_primes.zig</cite>
96580 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
965a0 61 73 73 3d 22 6c 69 6e 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">
965c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 66 const</span>.first_25_primes.=.f
965e0 69 72 73 74 4e 50 72 69 6d 65 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d irstNPrimes(<span.class="tok-num
96600 62 65 72 22 3e 32 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">25</span>);</span>.<span.cl
96620 61 73 73 3d 22 6c 69 6e 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">
96640 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 const</span>.sum_of_first_25_pri
96660 6d 65 73 20 3d 20 73 75 6d 28 26 61 6d 70 3b 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 29 3b mes.=.sum(&amp;first_25_primes);
96680 3c 2f 73 70 61 6e 3e 0a 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
966a0 6e 3e 0a 3c 73 70 61 6e 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
966c0 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
966e0 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 72 73 74 4e 50 72 69 6d 65 73 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-fn">firstNPrimes</span>(<s
96700 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
96720 6e 3e 20 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 n>.n:.<span.class="tok-type">usi
96740 7a 65 3c 2f 73 70 61 6e 3e 29 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ze</span>).[n]<span.class="tok-t
96760 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 6e 20 63 ype">i32</span>.{</span>.<span.c
96780 6c 61 73 73 3d 22 6c 69 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
967a0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3a 20 5b 6e 5d 3c -kw">var</span>.prime_list:.[n]<
967c0 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>
967e0 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
96800 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="
96820 6c 69 6e 65 22 3e 20 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
96840 61 72 3c 2f 73 70 61 6e 3e 20 6e 65 78 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ar</span>.next_index:.<span.clas
96860 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
96880 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>;</
968a0 73 70 61 6e 3e 0a 3c 73 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
968c0 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 65 73 an.class="tok-kw">var</span>.tes
968e0 74 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 t_number:.<span.class="tok-type"
96900 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
96920 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 20 63 6c umber">2</span>;</span>.<span.cl
96940 61 73 73 3d 22 6c 69 6e 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-
96960 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 20 26 6c 74 kw">while</span>.(next_index.&lt
96980 3b 20 70 72 69 6d 65 5f 6c 69 73 74 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 ;.prime_list.len).:.(test_number
969a0 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</
969c0 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
969e0 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">
96a00 76 61 72 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 3a 20 3c 73 70 var</span>.test_prime_index:.<sp
96a20 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>
96a40 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 .=.<span.class="tok-number">0</s
96a60 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">
96a80 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ........<span.class="tok-kw">var
96aa0 3c 2f 73 70 61 6e 3e 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.is_prime.=.<span.class="
96ac0 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 3e 0a 3c 73 tok-null">true</span>;</span>.<s
96ae0 70 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
96b00 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 74 65 73 74 lass="tok-kw">while</span>.(test
96b20 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 26 6c 74 3b 20 6e 65 78 74 5f 69 6e 64 65 78 29 20 3a 20 _prime_index.&lt;.next_index).:.
96b40 28 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 (test_prime_index.+=.<span.class
96b60 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>
96b80 0a 3c 73 70 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">............
96ba0 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>.(
96bc0 74 65 73 74 5f 6e 75 6d 62 65 72 20 25 20 70 72 69 6d 65 5f 6c 69 73 74 5b 74 65 73 74 5f 70 72 test_number.%.prime_list[test_pr
96be0 69 6d 65 5f 69 6e 64 65 78 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ime_index].==.<span.class="tok-n
96c00 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">0</span>).{</span>.<span.
96c20 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 69 73 5f class="line">................is_
96c40 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 prime.=.<span.class="tok-null">f
96c60 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 3d alse</span>;</span>.<span.class=
96c80 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
96ca0 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 6e 3e ss="tok-kw">break</span>;</span>
96cc0 0a 3c 73 70 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">............
96ce0 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">....
96d00 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">
96d20 20 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<
96d40 2f 73 70 61 6e 3e 20 28 69 73 5f 70 72 69 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e /span>.(is_prime).{</span>.<span
96d60 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 6d 65 5f .class="line">............prime_
96d80 6c 69 73 74 5b 6e 65 78 74 5f 69 6e 64 65 78 5d 20 3d 20 74 65 73 74 5f 6e 75 6d 62 65 72 3b 3c list[next_index].=.test_number;<
96da0 2f 73 70 61 6e 3e 0a 3c 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">......
96dc0 20 20 20 20 20 20 6e 65 78 74 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ......next_index.+=.<span.class=
96de0 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
96e00 70 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
96e20 3e 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
96e40 3e 0a 3c 73 70 61 6e 20 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
96e60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 72 69 6d lass="tok-kw">return</span>.prim
96e80 65 5f 6c 69 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 e_list;</span>.<span.class="line
96ea0 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"></
96ec0 73 70 61 6e 3e 0a 3c 73 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
96ee0 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
96f00 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 73 3a ass="tok-fn">sum</span>(numbers:
96f20 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 .[]<span.class="tok-kw">const</s
96f40 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c pan>.<span.class="tok-type">i32<
96f60 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
96f80 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32</span>.{</span>.<span.class="
96fa0 6c 69 6e 65 22 3e 20 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
96fc0 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ar</span>.result:.<span.class="t
96fe0 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
97000 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>.
97020 3c 73 70 61 6e 20 63 6c 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
97040 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 29 ss="tok-kw">for</span>.(numbers)
97060 20 7c 78 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .|x|.{</span>.<span.class="line"
97080 3e 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 2b 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >........result.+=.x;</span>.<sp
970a0 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
970c0 61 6e 20 63 6c 61 73 73 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=
970e0 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f "tok-kw">return</span>.result;</
97100 73 70 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
97120 3e 0a 3c 73 70 61 6e 20 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
97140 61 6e 20 63 6c 61 73 73 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
97160 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
97180 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 75 6f k-str">&quot;variable.values&quo
971a0 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="
971c0 6c 69 6e 65 22 3e 20 20 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
971e0 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ry</span>.<span.class="tok-built
97200 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="
97220 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>)
97240 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f .testing.expect(sum_of_first_25_
97260 70 72 69 6d 65 73 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 primes.==.<span.class="tok-numbe
97280 72 22 3e 31 30 36 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">1060</span>);</span>.<span.cl
972a0 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>
972c0 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
972e0 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
97300 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">$
97320 20 3c 6b 62 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 .<kbd>zig.test.N_primes.zig</kbd
97340 3e 3c 2f 73 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.
97360 74 65 73 74 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 test.&quot;variable.values&quot;
97380 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"
973a0 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
973c0 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>....
973e0 20 20 20 57 68 65 6e 20 77 65 20 63 6f 6d 70 69 6c 65 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2c ...When.we.compile.this.program,
97400 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 .Zig.generates.the.constants....
97420 20 20 20 77 69 74 68 20 74 68 65 20 61 6e 73 77 65 72 20 70 72 65 2d 63 6f 6d 70 75 74 65 64 2e ...with.the.answer.pre-computed.
97440 20 48 65 72 65 20 61 72 65 20 74 68 65 20 6c 69 6e 65 73 20 66 72 6f 6d 20 74 68 65 20 67 65 6e .Here.are.the.lines.from.the.gen
97460 65 72 61 74 65 64 20 4c 4c 56 4d 20 49 52 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 erated.LLVM.IR:.......</p>......
97480 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 6c 6c 76 6d 22 3e 40 30 20 3d 20 69 6e .<pre><code.class="llvm">@0.=.in
974a0 74 65 72 6e 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 5b 32 35 ternal.unnamed_addr.constant.[25
974c0 20 78 20 69 33 32 5d 20 5b 69 33 32 20 32 2c 20 69 33 32 20 33 2c 20 69 33 32 20 35 2c 20 69 33 .x.i32].[i32.2,.i32.3,.i32.5,.i3
974e0 32 20 37 2c 20 69 33 32 20 31 31 2c 20 69 33 32 20 31 33 2c 20 69 33 32 20 31 37 2c 20 69 33 32 2.7,.i32.11,.i32.13,.i32.17,.i32
97500 20 31 39 2c 20 69 33 32 20 32 33 2c 20 69 33 32 20 32 39 2c 20 69 33 32 20 33 31 2c 20 69 33 32 .19,.i32.23,.i32.29,.i32.31,.i32
97520 20 33 37 2c 20 69 33 32 20 34 31 2c 20 69 33 32 20 34 33 2c 20 69 33 32 20 34 37 2c 20 69 33 32 .37,.i32.41,.i32.43,.i32.47,.i32
97540 20 35 33 2c 20 69 33 32 20 35 39 2c 20 69 33 32 20 36 31 2c 20 69 33 32 20 36 37 2c 20 69 33 32 .53,.i32.59,.i32.61,.i32.67,.i32
97560 20 37 31 2c 20 69 33 32 20 37 33 2c 20 69 33 32 20 37 39 2c 20 69 33 32 20 38 33 2c 20 69 33 32 .71,.i32.73,.i32.79,.i32.83,.i32
97580 20 38 39 2c 20 69 33 32 20 39 37 5d 0a 40 31 20 3d 20 69 6e 74 65 72 6e 61 6c 20 75 6e 6e 61 6d .89,.i32.97].@1.=.internal.unnam
975a0 65 64 5f 61 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 69 33 32 20 31 30 36 30 3c 2f 63 6f 64 65 3e ed_addr.constant.i32.1060</code>
975c0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 </pre>.......<p>.......Note.that
975e0 20 77 65 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 .we.did.not.have.to.do.anything.
97600 73 70 65 63 69 61 6c 20 77 69 74 68 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 73 65 special.with.the.syntax.of.these
97620 20 66 75 6e 63 74 69 6f 6e 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 77 .functions..For.example,.......w
97640 65 20 63 6f 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 e.could.call.the.<code><span.cla
97660 73 73 3d 22 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 ss="line">sum</span></code>.func
97680 74 69 6f 6e 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 tion.as.is.with.a.slice.of.numbe
976a0 72 73 20 77 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 rs.whose.length.and.values.were.
976c0 20 20 20 20 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 ......only.known.at.run-time....
976e0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 ....</p>.....................<h3
97700 20 69 64 3d 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 .id="Generic-Data-Structures"><a
97720 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 47 65 6e 65 72 69 63 2d 44 61 74 .href="nav.xhtml#toc-Generic-Dat
97740 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 47 65 6e 65 72 69 63 20 44 61 74 61 20 53 74 72 75 63 a-Structures">Generic.Data.Struc
97760 74 75 72 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 tures</a>.<a.class="hdr".href="#
97780 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c Generic-Data-Structures">..</a><
977a0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 75 73 65 73 20 74 /h3>........<p>.......Zig.uses.t
977c0 68 65 73 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 67 hese.capabilities.to.implement.g
977e0 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 77 69 74 68 6f 75 74 20 69 eneric.data.structures.without.i
97800 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e 79 0a 20 20 20 20 20 20 73 70 65 63 69 61 6c 2d 63 61 73 ntroducing.any.......special-cas
97820 65 20 73 79 6e 74 61 78 2e 20 49 66 20 79 6f 75 20 66 6f 6c 6c 6f 77 65 64 20 61 6c 6f 6e 67 20 e.syntax..If.you.followed.along.
97840 73 6f 20 66 61 72 2c 20 79 6f 75 20 6d 61 79 20 61 6c 72 65 61 64 79 20 6b 6e 6f 77 20 68 6f 77 so.far,.you.may.already.know.how
97860 20 74 6f 20 63 72 65 61 74 65 20 61 0a 20 20 20 20 20 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 .to.create.a.......generic.data.
97880 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a structure........</p>.......<p>.
978a0 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 20 67 65 ......Here.is.an.example.of.a.ge
978c0 6e 65 72 69 63 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c neric.<code><span.class="line">L
978e0 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 ist</span></code>.data.structure
97900 2c 20 74 68 61 74 20 77 65 20 77 69 6c 6c 20 69 6e 73 74 61 6e 74 69 61 74 65 20 77 69 74 68 0a ,.that.we.will.instantiate.with.
97920 20 20 20 20 20 20 20 20 20 20 74 68 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ..........the.type.<code><span.c
97940 6c 61 73 73 3d 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
97960 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 2e 20 49 6e 20 e">i32</span></span></code>..In.
97980 5a 69 67 20 77 65 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 74 79 70 65 20 61 73 20 3c 63 6f 64 Zig.we.refer.to.the.type.as.<cod
979a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 73 74 28 3c 73 70 61 6e 20 e><span.class="line">List(<span.
979c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 class="tok-type">i32</span>)</sp
979e0 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 an></code>........</p>.......<fi
97a00 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"
97a20 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
97a40 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
97a60 20 63 6c 61 73 73 3d 22 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
97a80 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
97aa0 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 22 74 6f 6b 2d 6b ">List</span>(<span.class="tok-k
97ac0 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
97ae0 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.
97b00 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>.{</
97b20 73 70 61 6e 3e 0a 3c 73 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
97b40 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>.
97b60 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
97b80 6e 3e 20 7b 3c 2f 73 70 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">.
97ba0 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 3c 73 70 61 6e 20 .......items:.[]T,</span>.<span.
97bc0 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 3c 73 70 61 6e 20 class="line">........len:.<span.
97be0 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 3c 2f class="tok-type">usize</span>,</
97c00 73 70 61 6e 3e 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">....};<
97c20 2f 73 70 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
97c40 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c n></code></pre></figure>.......<
97c60 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 2e 20 49 74 27 73 20 61 20 66 75 6e 63 74 p>.......That's.it..It's.a.funct
97c80 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 3c 63 ion.that.returns.an.anonymous.<c
97ca0 6f 64 65 3e 3c 73 70 61 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
97cc0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-kw">struct</span></span>
97ce0 3c 2f 63 6f 64 65 3e 2e 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 65 72 72 </code>..For.the.purposes.of.err
97d00 6f 72 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 64 65 62 75 67 67 or.messages...........and.debugg
97d20 69 6e 67 2c 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 6e 61 6d 65 20 3c 63 6f 64 65 3e 3c ing,.Zig.infers.the.name.<code><
97d40 73 70 61 6e 20 63 6c 61 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
97d60 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4c 69 73 74 28 69 33 32 29 26 71 75 6f 74 3b 3c 2f 73 ok-str">&quot;List(i32)&quot;</s
97d80 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 pan></span></code>.from.the.func
97da0 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 76 6f 6b 65 64 tion.name.and.parameters.invoked
97dc0 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 61 6e 6f 6e 79 6d 6f .when.creating.......the.anonymo
97de0 75 73 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a us.struct........</p>.......<p>.
97e00 20 20 20 20 20 20 54 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 ......To.keep.the.language.small
97e20 20 61 6e 64 20 75 6e 69 66 6f 72 6d 2c 20 61 6c 6c 20 61 67 67 72 65 67 61 74 65 20 74 79 70 65 .and.uniform,.all.aggregate.type
97e40 73 20 69 6e 20 5a 69 67 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2e 20 54 6f 20 67 69 76 65 20 s.in.Zig.are.anonymous..To.give.
97e60 61 20 74 79 70 65 0a 20 20 20 20 20 20 61 20 6e 61 6d 65 2c 20 77 65 20 61 73 73 69 67 6e 20 69 a.type.......a.name,.we.assign.i
97e80 74 20 74 6f 20 61 20 63 6f 6e 73 74 61 6e 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 t.to.a.constant:.......</p>.....
97ea0 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
97ec0 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
97ee0 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>
97f00 3c 73 70 61 6e 20 63 6c 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="
97f20 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 tok-kw">const</span>.Node.=.<spa
97f40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-kw">struct</span>.{
97f60 3c 2f 73 70 61 6e 3e 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
97f80 65 78 74 3a 20 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ext:.*Node,</span>.<span.class="
97fa0 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">....name:.[]<span.class="t
97fc0 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
97fe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f .class="line">};</span></code></
98000 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
98020 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 65 76 65 6c 20 64 is.works.because.all.top.level.d
98040 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 70 65 6e 64 65 6e eclarations.are.order-independen
98060 74 2c 20 61 6e 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 72 65 20 69 73 6e 27 74 0a 20 20 t,.and.as.long.as.there.isn't...
98080 20 20 20 20 61 6e 20 61 63 74 75 61 6c 20 69 6e 66 69 6e 69 74 65 20 72 65 67 72 65 73 73 69 6f ....an.actual.infinite.regressio
980a0 6e 2c 20 76 61 6c 75 65 73 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 6d 73 65 6c 76 65 n,.values.can.refer.to.themselve
980c0 73 2c 20 64 69 72 65 63 74 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 2e 20 49 6e 20 74 68 s,.directly.or.indirectly..In.th
980e0 69 73 20 63 61 73 65 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 is.case,.......<code><span.class
98100 3d 22 6c 69 6e 65 22 3e 4e 6f 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 ="line">Node</span></code>.refer
98120 73 20 74 6f 20 69 74 73 65 6c 66 20 61 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 20 s.to.itself.as.a.pointer,.which.
98140 69 73 20 6e 6f 74 20 61 63 74 75 61 6c 6c 79 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 72 65 67 72 is.not.actually.an.infinite.regr
98160 65 73 73 69 6f 6e 2c 20 73 6f 0a 20 20 20 20 20 20 69 74 20 77 6f 72 6b 73 20 66 69 6e 65 2e 0a ession,.so.......it.works.fine..
98180 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="
981a0 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 3c 61 20 68 72 65 66 Case-Study-print-in-Zig"><a.href
981c0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 ="nav.xhtml#toc-Case-Study-print
981e0 2d 69 6e 2d 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 70 72 69 6e 74 20 69 6e 20 5a 69 -in-Zig">Case.Study:.print.in.Zi
98200 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 43 61 73 65 g</a>.<a.class="hdr".href="#Case
98220 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e -Study-print-in-Zig">..</a></h3>
98240 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 74 74 69 6e 67 20 61 6c 6c 20 6f 66 ........<p>.......Putting.all.of
98260 20 74 68 69 73 20 74 6f 67 65 74 68 65 72 2c 20 6c 65 74 27 73 20 73 65 65 20 68 6f 77 20 3c 63 .this.together,.let's.see.how.<c
98280 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 6e 74 3c 2f 73 70 ode><span.class="line">print</sp
982a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 73 20 69 6e 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c an></code>.works.in.Zig........<
982c0 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
982e0 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"
98300 3e 70 72 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 >print.zig</cite></figcaption><p
98320 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
98340 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.pr
98360 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e int.=.<span.class="tok-builtin">
98380 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-
983a0 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 62 str">&quot;std&quot;</span>).deb
983c0 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 69 ug.print;</span>.<span.class="li
983e0 6e 65 22 3e 3c 2f 73 70 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"><
98400 73 70 61 6e 20 63 6c 61 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>
98420 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 .a_number:.<span.class="tok-type
98440 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-
98460 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 number">1234</span>;</span>.<spa
98480 6e 20 63 6c 61 73 73 3d 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-
984a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 kw">const</span>.a_string.=.<spa
984c0 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 71 n.class="tok-str">&quot;foobar&q
984e0 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=
98500 22 6c 69 6e 65 22 3e 3c 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
98520 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
98540 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>
98560 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
98580 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<
985a0 2f 73 70 61 6e 3e 20 7b 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
985c0 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 e">....print(<span.class="tok-st
985e0 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 r">&quot;here.is.a.string:.'{s}'
98600 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 .here.is.a.number:.{}\n&quot;</s
98620 70 61 6e 3e 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 pan>,..{a_string,.a_number});</s
98640 70 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>
98660 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
98680 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
986a0 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
986c0 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 65 lass="line">$.<kbd>zig.build-exe
986e0 20 70 72 69 6e 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 .print.zig</kbd></span>.<span.cl
98700 61 73 73 3d 22 6c 69 6e 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="
98720 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e line">$.<kbd>./print</kbd></span
98740 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 72 65 20 69 73 20 61 20 73 >.<span.class="line">here.is.a.s
98760 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 tring:.'foobar'.here.is.a.number
98780 3a 20 31 32 33 34 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 :.1234</span>.</samp></pre></fig
987a0 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 65 74 27 73 20 63 72 61 63 ure>........<p>.......Let's.crac
987c0 6b 20 6f 70 65 6e 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 69 k.open.the.implementation.of.thi
987e0 73 20 61 6e 64 20 73 65 65 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 3a 0a 20 20 20 20 20 20 3c 2f s.and.see.how.it.works:.......</
98800 70 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c p>........<figure><figcaption.cl
98820 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"
98840 3e 70 6f 63 5f 70 72 69 6e 74 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 >poc_print_fn.zig</cite></figcap
98860 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
98880 65 22 3e 3c 73 70 61 6e 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
988a0 70 61 6e 3e 20 57 72 69 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pan>.Writer.=.<span.class="tok-k
988c0 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.
988e0 63 6c 61 73 73 3d 22 6c 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
98900 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 43 61 6c 6c 73 20 70 72 69 6e 74 20 61 6e 64 20 74 k-comment">///.Calls.print.and.t
98920 68 65 6e 20 66 6c 75 73 68 65 73 20 74 68 65 20 62 75 66 66 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f hen.flushes.the.buffer.</span></
98940 73 70 61 6e 3e 0a 3c 73 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
98960 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
98980 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
989a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 n.class="tok-fn">print</span>(se
989c0 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 lf:.*Writer,.<span.class="tok-kw
989e0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 6f 72 6d 61 74 3a 20 5b 5d 3c 73 70 61 ">comptime</span>.format:.[]<spa
98a00 6e 20 63 6c 61 73 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
98a20 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>,.
98a40 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 61 6e 79 74 79 args:.<span.class="tok-kw">anyty
98a60 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 pe</span>).<span.class="tok-type
98a80 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 74 ">anyerror</span>!<span.class="t
98aa0 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
98ac0 70 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
98ae0 6c 61 73 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 61 74 65 lass="tok-kw">const</span>.State
98b00 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
98b20 61 6e 3e 20 7b 3c 2f 73 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">
98b40 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ............start,</span>.<span.
98b60 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 6f 70 65 6e 5f 62 72 class="line">............open_br
98b80 61 63 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ace,</span>.<span.class="line">.
98ba0 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 5f 62 72 61 63 65 2c 3c 2f 73 70 61 6e 3e 0a 3c ...........close_brace,</span>.<
98bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 span.class="line">........};</sp
98be0 61 6e 3e 0a 3c 73 70 61 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>.<
98c00 73 70 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.
98c20 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 3c class="tok-kw">comptime</span>.<
98c40 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 73 span.class="tok-kw">var</span>.s
98c60 74 61 72 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 tart_index:.<span.class="tok-typ
98c80 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
98ca0 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
98cc0 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
98ce0 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
98d00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 61 74 n.class="tok-kw">var</span>.stat
98d20 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
98d40 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="
98d60 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 6c tok-kw">comptime</span>.<span.cl
98d80 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 65 78 74 5f 61 72 67 ass="tok-kw">var</span>.next_arg
98da0 3a 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</
98dc0 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"
98de0 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >0</span>;</span>.<span.class="l
98e00 69 6e 65 22 3e 3c 2f 73 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">
98e20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c ........<span.class="tok-kw">inl
98e40 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ine</span>.<span.class="tok-kw">
98e60 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 66 6f 72 6d 61 74 29 20 7c 63 2c 20 69 7c 20 7b 3c 2f 73 70 for</span>.(format).|c,.i|.{</sp
98e80 61 6e 3e 0a 3c 73 70 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">.........
98ea0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f ...<span.class="tok-kw">switch</
98ec0 73 70 61 6e 3e 20 28 73 74 61 74 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 span>.(state).{</span>.<span.cla
98ee0 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 53 74 61 74 65 2e ss="line">................State.
98f00 73 74 61 72 74 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 start.=&gt;.<span.class="tok-kw"
98f20 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >switch</span>.(c).{</span>.<spa
98f40 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">.................
98f60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7b 27 3c 2f 73 70 ...<span.class="tok-str">'{'</sp
98f80 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.=&gt;.{</span>.<span.class="
98fa0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 line">........................<s
98fc0 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 74 pan.class="tok-kw">if</span>.(st
98fe0 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 6c 61 73 73 3d 22 74 art_index.&lt;.i).<span.class="t
99000 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 72 ok-kw">try</span>.self.write(for
99020 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 61 6e 3e 0a 3c 73 70 mat[start_index..i]);</span>.<sp
99040 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">................
99060 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 ........state.=.State.open_brace
99080 3b 3c 2f 73 70 61 6e 3e 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">....
990a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ................},</span>.<span.
990c0 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">...................
990e0 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
99100 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
99120 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ne">........................<spa
99140 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 n.class="tok-kw">if</span>.(star
99160 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t_index.&lt;.i).<span.class="tok
99180 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 -kw">try</span>.self.write(forma
991a0 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e t[start_index..i]);</span>.<span
991c0 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">..................
991e0 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 3b ......state.=.State.close_brace;
99200 3c 2f 73 70 61 6e 3e 0a 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">.....
99220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...............},</span>.<span.c
99240 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">....................
99260 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>
99280 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .=&gt;.{},</span>.<span.class="l
992a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c ine">................},</span>.<
992c0 73 70 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">..............
992e0 20 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 ..State.open_brace.=&gt;.<span.c
99300 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 lass="tok-kw">switch</span>.(c).
99320 7b 3c 2f 73 70 61 6e 3e 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">....
99340 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
99360 2d 73 74 72 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 -str">'{'</span>.=&gt;.{</span>.
99380 3c 73 70 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">.............
993a0 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c ...........state.=.State.start;<
993c0 2f 73 70 61 6e 3e 0a 3c 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">......
993e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 ..................start_index.=.
99400 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 i;</span>.<span.class="line">...
99420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .................},</span>.<span
99440 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">..................
99460 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 7d 27 3c 2f 73 70 61 ..<span.class="tok-str">'}'</spa
99480 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n>.=&gt;.{</span>.<span.class="l
994a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 ine">........................<sp
994c0 61 6e 20 63 6c 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 an.class="tok-kw">try</span>.sel
994e0 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 73 5b 6e 65 78 74 5f 61 72 67 5d 29 3b 3c 2f 73 f.printValue(args[next_arg]);</s
99500 70 61 6e 3e 0a 3c 73 70 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">........
99520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 5f 61 72 67 20 2b 3d 20 3c 73 70 61 ................next_arg.+=.<spa
99540 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f n.class="tok-number">1</span>;</
99560 73 70 61 6e 3e 0a 3c 73 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">.......
99580 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 73 .................state.=.State.s
995a0 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 65 22 3e tart;</span>.<span.class="line">
995c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 69 6e ........................start_in
995e0 64 65 78 20 3d 20 69 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 dex.=.i.+.<span.class="tok-numbe
99600 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=
99620 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 7d 2c 3c 2f 73 "line">....................},</s
99640 70 61 6e 3e 0a 3c 73 70 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">........
99660 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
99680 22 3e 27 73 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 ">'s'</span>.=&gt;.{</span>.<spa
996a0 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">.................
996c0 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 74 .......<span.class="tok-kw">cont
996e0 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 20 63 6c 61 73 73 3d inue</span>;</span>.<span.class=
99700 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 7d 2c 3c 2f 73 "line">....................},</s
99720 70 61 6e 3e 0a 3c 73 70 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">........
99740 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"
99760 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >else</span>.=&gt;.<span.class="
99780 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e tok-builtin">@compileError</span
997a0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e >(<span.class="tok-str">&quot;Un
997c0 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 74 65 72 3a 20 26 71 75 6f 74 3b 3c 2f known.format.character:.&quot;</
997e0 73 70 61 6e 3e 20 2b 2b 20 5b 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
99800 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r">1</span>]<span.class="tok-typ
99820 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 63 7d 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e">u8</span>{c}),</span>.<span.c
99840 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 3c 2f lass="line">................},</
99860 73 70 61 6e 3e 0a 3c 73 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">.......
99880 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 20 3d 26 67 74 3b .........State.close_brace.=&gt;
998a0 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
998c0 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
998e0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ne">....................<span.cl
99900 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b ass="tok-str">'}'</span>.=&gt;.{
99920 3c 2f 73 70 61 6e 3e 0a 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">.....
99940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 ...................state.=.State
99960 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 65 .start;</span>.<span.class="line
99980 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 5f ">........................start_
999a0 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 6c index.=.i;</span>.<span.class="l
999c0 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
999e0 6e 3e 0a 3c 73 70 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">..........
99a00 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 65 ..........<span.class="tok-kw">e
99a20 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f lse</span>.=&gt;.<span.class="to
99a40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 k-builtin">@compileError</span>(
99a60 3c 73 70 61 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 69 6e 67 <span.class="tok-str">&quot;Sing
99a80 6c 65 20 27 7d 27 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 69 6e 20 66 6f 72 6d 61 74 20 73 74 72 le.'}'.encountered.in.format.str
99aa0 69 6e 67 26 71 75 6f 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 ing&quot;</span>),</span>.<span.
99ac0 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 3c class="line">................},<
99ae0 2f 73 70 61 6e 3e 0a 3c 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">......
99b00 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
99b20 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="
99b40 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
99b60 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
99b80 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
99ba0 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 72 67 73 2e .class="tok-kw">if</span>.(args.
99bc0 6c 65 6e 20 21 3d 20 6e 65 78 74 5f 61 72 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 len.!=.next_arg).{</span>.<span.
99be0 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
99c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 an.class="tok-builtin">@compileE
99c20 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 rror</span>(<span.class="tok-str
99c40 22 3e 26 71 75 6f 74 3b 55 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f ">&quot;Unused.arguments&quot;</
99c60 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
99c80 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 61 ">............}</span>.<span.cla
99ca0 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
99cc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 20 21 3d 20 53 s="tok-kw">if</span>.(state.!=.S
99ce0 74 61 74 65 2e 73 74 61 72 74 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 tate.start).{</span>.<span.class
99d00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ="line">................<span.cl
99d20 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<
99d40 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
99d60 6f 74 3b 49 6e 63 6f 6d 70 6c 65 74 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 3a 20 26 71 75 ot;Incomplete.format.string:.&qu
99d80 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ot;</span>.++.format);</span>.<s
99da0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f pan.class="line">............}</
99dc0 73 70 61 6e 3e 0a 3c 73 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">.......
99de0 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">...
99e00 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
99e20 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 66 6f 72 6d 61 74 2e 6c 65 6e an>.(start_index.&lt;.format.len
99e40 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">..
99e60 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ..........<span.class="tok-kw">t
99e80 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 ry</span>.self.write(format[star
99ea0 74 5f 69 6e 64 65 78 2e 2e 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 t_index..format.len]);</span>.<s
99ec0 70 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
99ee0 3e 0a 3c 73 70 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
99f00 61 6e 20 63 6c 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 an.class="tok-kw">try</span>.sel
99f20 66 2e 66 6c 75 73 68 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c f.flush();</span>.<span.class="l
99f40 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
99f60 69 6e 65 22 3e 3c 2f 73 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">
99f80 20 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 ....<span.class="tok-kw">fn</spa
99fa0 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 3c 2f 73 n>.<span.class="tok-fn">write</s
99fc0 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 5b 5d 3c 73 70 pan>(self:.*Writer,.value:.[]<sp
99fe0 61 6e 20 63 6c 61 73 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>.<
9a000 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 span.class="tok-type">u8</span>)
9a020 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 .!<span.class="tok-type">void</s
9a040 70 61 6e 3e 20 7b 3c 2f 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"
9a060 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >........_.=.self;</span>.<span.
9a080 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c class="line">........_.=.value;<
9a0a0 2f 73 70 61 6e 3e 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">....}<
9a0c0 2f 73 70 61 6e 3e 0a 3c 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
9a0e0 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
9a100 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
9a120 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 3c 2f 73 70 an.class="tok-fn">printValue</sp
9a140 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 70 61 6e 20 an>(self:.*Writer,.value:.<span.
9a160 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 21 class="tok-kw">anytype</span>).!
9a180 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
9a1a0 6e 3e 20 7b 3c 2f 73 70 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">.
9a1c0 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ......._.=.self;</span>.<span.cl
9a1e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 ass="line">........_.=.value;</s
9a200 70 61 6e 3e 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
9a220 70 61 6e 3e 0a 3c 73 70 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
9a240 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
9a260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6c 75 73 68 3c 2f 73 70 61 6e 3e 28 73 65 6c .class="tok-fn">flush</span>(sel
9a280 66 3a 20 2a 57 72 69 74 65 72 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 f:.*Writer).!<span.class="tok-ty
9a2a0 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
9a2c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 lass="line">........_.=.self;</s
9a2e0 70 61 6e 3e 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
9a300 70 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
9a320 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
9a340 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 70 72 6f 6f 66 20 6f 66 20 63 6f 6e 63 65 >.......This.is.a.proof.of.conce
9a360 70 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 3b 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 pt.implementation;.the.actual.fu
9a380 6e 63 74 69 6f 6e 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 68 nction.in.the.standard.library.h
9a3a0 61 73 20 6d 6f 72 65 0a 20 20 20 20 20 20 66 6f 72 6d 61 74 74 69 6e 67 20 63 61 70 61 62 69 6c as.more.......formatting.capabil
9a3c0 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ities........</p>.......<p>.....
9a3e0 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 6e 6f 74 20 68 61 72 64 2d 63 6f 64 ..Note.that.this.is.not.hard-cod
9a400 65 64 20 69 6e 74 6f 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 3b 20 74 68 69 73 20 69 ed.into.the.Zig.compiler;.this.i
9a420 73 20 75 73 65 72 6c 61 6e 64 20 63 6f 64 65 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 s.userland.code.in.the.standard.
9a440 6c 69 62 72 61 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 library........</p>.......<p>...
9a460 20 20 20 20 57 68 65 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a ....When.this.function.is.analyz
9a480 65 64 20 66 72 6f 6d 20 6f 75 72 20 65 78 61 6d 70 6c 65 20 63 6f 64 65 20 61 62 6f 76 65 2c 20 ed.from.our.example.code.above,.
9a4a0 5a 69 67 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 66 75 6e 63 Zig.partially.evaluates.the.func
9a4c0 74 69 6f 6e 0a 20 20 20 20 20 20 61 6e 64 20 65 6d 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 tion.......and.emits.a.function.
9a4e0 74 68 61 74 20 61 63 74 75 61 6c 6c 79 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 that.actually.looks.like.this:..
9a500 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
9a520 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=
9a540 22 66 69 6c 65 22 3e 45 6d 69 74 74 65 64 20 70 72 69 6e 74 20 46 75 6e 63 74 69 6f 6e 3c 2f 63 "file">Emitted.print.Function</c
9a560 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
9a580 6e 20 63 6c 61 73 73 3d 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-
9a5a0 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-
9a5c0 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
9a5e0 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 61 n">print</span>(self:.*Writer,.a
9a600 72 67 30 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 rg0:.[]<span.class="tok-kw">cons
9a620 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">
9a640 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f u8</span>,.arg1:.<span.class="to
9a660 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 63 6c 61 73 73 k-type">i32</span>).!<span.class
9a680 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>
9a6a0 0a 3c 73 70 61 6e 20 63 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
9a6c0 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 69 ass="tok-kw">try</span>.self.wri
9a6e0 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 6f 74 3b 68 te(<span.class="tok-str">&quot;h
9a700 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 ere.is.a.string:.'&quot;</span>)
9a720 3b 3c 2f 73 70 61 6e 3e 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">....
9a740 3c 73 70 61 6e 20 63 6c 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>.
9a760 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 30 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 self.printValue(arg0);</span>.<s
9a780 70 61 6e 20 63 6c 61 73 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
9a7a0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 ="tok-kw">try</span>.self.write(
9a7c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 20 68 65 <span.class="tok-str">&quot;'.he
9a7e0 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c re.is.a.number:.&quot;</span>);<
9a800 2f 73 70 61 6e 3e 0a 3c 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
9a820 70 61 6e 20 63 6c 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
9a840 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lf.printValue(arg1);</span>.<spa
9a860 6e 20 63 6c 61 73 73 3d 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="
9a880 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 3c 73 tok-kw">try</span>.self.write(<s
9a8a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f pan.class="tok-str">&quot;\n&quo
9a8c0 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="
9a8e0 6c 69 6e 65 22 3e 20 20 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
9a900 72 79 3c 2f 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 ry</span>.self.flush();</span>.<
9a920 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
9a940 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>......
9a960 20 3c 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 6e 74 56 .<code><span.class="line">printV
9a980 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e alue</span></code>.is.a.function
9a9a0 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 6f 66 20 61 6e 79 20 74 .that.takes.a.parameter.of.any.t
9a9c0 79 70 65 2c 20 61 6e 64 20 64 6f 65 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 69 6e 67 73 20 64 ype,.and.does.different.things.d
9a9e0 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 epending.......on.the.type:.....
9aa00 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
9aa20 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
9aa40 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 56 61 6c 75 65 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e le">poc_printValue_fn.zig</cite>
9aa60 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
9aa80 61 73 73 3d 22 6c 69 6e 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">
9aaa0 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 73 const</span>.Writer.=.<span.clas
9aac0 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
9aae0 3e 0a 3c 73 70 61 6e 20 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
9ab00 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
9ab20 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
9ab40 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 ass="tok-fn">printValue</span>(s
9ab60 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 elf:.*Writer,.value:.<span.class
9ab80 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e ="tok-kw">anytype</span>).!<span
9aba0 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>.{<
9abc0 2f 73 70 61 6e 3e 0a 3c 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">......
9abe0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 ..<span.class="tok-kw">switch</s
9ac00 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 3e pan>.(<span.class="tok-builtin">
9ac20 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f @typeInfo</span>(<span.class="to
9ac40 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)
9ac60 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 20 )).{</span>.<span.class="line">.
9ac80 20 20 20 20 20 20 20 20 20 20 20 2e 49 6e 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ............Int.=&gt;.{</span>.<
9aca0 73 70 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">..............
9acc0 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
9ace0 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 49 6e 74 28 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e pan>.self.writeInt(value);</span
9ad00 3e 0a 3c 73 70 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">...........
9ad20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .},</span>.<span.class="line">..
9ad40 20 20 20 20 20 20 20 20 20 20 2e 46 6c 6f 61 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a ...........Float.=&gt;.{</span>.
9ad60 3c 73 70 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">.............
9ad80 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</
9ada0 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 46 6c 6f 61 74 28 76 61 6c 75 65 29 3b 3c 2f 73 span>.self.writeFloat(value);</s
9adc0 70 61 6e 3e 0a 3c 73 70 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">........
9ade0 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"
9ae00 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 50 6f 69 6e 74 65 72 20 3d 26 67 74 3b 20 7b 3c 2f 73 >.............Pointer.=&gt;.{</s
9ae20 70 61 6e 3e 0a 3c 73 70 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">........
9ae40 20 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
9ae60 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 76 61 6c 75 65 29 3b 3c 2f 73 urn</span>.self.write(value);</s
9ae80 70 61 6e 3e 0a 3c 73 70 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">........
9aea0 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"
9aec0 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >............<span.class="tok-kw
9aee0 22 3e 65 6c 73 65 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 ">else</span>.=&gt;.{</span>.<sp
9af00 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">................
9af20 3c 73 70 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
9af40 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d leError</span>(<span.class="tok-
9af60 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 61 62 6c 65 20 74 6f 20 70 72 69 6e 74 20 74 79 70 65 20 str">&quot;Unable.to.print.type.
9af80 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 '&quot;</span>.++.<span.class="t
9afa0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 ok-builtin">@typeName</span>(<sp
9afc0 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</
9afe0 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>(value)).++.<span.class="to
9b000 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 k-str">&quot;'&quot;</span>);</s
9b020 70 61 6e 3e 0a 3c 73 70 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">........
9b040 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"
9b060 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >........}</span>.<span.class="l
9b080 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
9b0a0 69 6e 65 22 3e 3c 2f 73 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">
9b0c0 20 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 ....<span.class="tok-kw">fn</spa
9b0e0 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 3c 2f 73 n>.<span.class="tok-fn">write</s
9b100 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 5b 5d 3c 73 70 pan>(self:.*Writer,.value:.[]<sp
9b120 61 6e 20 63 6c 61 73 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>.<
9b140 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 span.class="tok-type">u8</span>)
9b160 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 .!<span.class="tok-type">void</s
9b180 70 61 6e 3e 20 7b 3c 2f 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"
9b1a0 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >........_.=.self;</span>.<span.
9b1c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c class="line">........_.=.value;<
9b1e0 2f 73 70 61 6e 3e 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">....}<
9b200 2f 73 70 61 6e 3e 0a 3c 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
9b220 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
9b240 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 49 6e 74 3c 2f 73 70 61 6e an.class="tok-fn">writeInt</span
9b260 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c >(self:.*Writer,.value:.<span.cl
9b280 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 ass="tok-kw">anytype</span>).!<s
9b2a0 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>
9b2c0 20 7b 3c 2f 73 70 61 6e 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">...
9b2e0 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....._.=.self;</span>.<span.clas
9b300 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 s="line">........_.=.value;</spa
9b320 6e 3e 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
9b340 6e 3e 0a 3c 73 70 61 6e 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.
9b360 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
9b380 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 lass="tok-fn">writeFloat</span>(
9b3a0 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 self:.*Writer,.value:.<span.clas
9b3c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 s="tok-kw">anytype</span>).!<spa
9b3e0 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>.{
9b400 3c 2f 73 70 61 6e 3e 0a 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">.....
9b420 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..._.=.self;</span>.<span.class=
9b440 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e "line">........_.=.value;</span>
9b460 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>
9b480 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
9b4a0 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>...
9b4c0 20 20 20 20 41 6e 64 20 6e 6f 77 2c 20 77 68 61 74 20 68 61 70 70 65 6e 73 20 69 66 20 77 65 20 ....And.now,.what.happens.if.we.
9b4e0 67 69 76 65 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 3c 63 6f 64 65 give.too.many.arguments.to.<code
9b500 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e ><span.class="line">print</span>
9b520 3c 2f 63 6f 64 65 3e 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 </code>?.......</p>.......<figur
9b540 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
9b560 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>
9b580 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
9b5a0 61 73 73 3d 22 6c 69 6e 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">
9b5c0 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 73 const</span>.print.=.<span.class
9b5e0 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
9b600 70 61 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
9b620 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 0a ot;</span>).debug.print;</span>.
9b640 3c 73 70 61 6e 20 63 6c 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
9b660 20 63 6c 61 73 73 3d 22 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
9b680 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 w">const</span>.a_number:.<span.
9b6a0 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
9b6c0 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
9b6e0 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
9b700 70 61 6e 20 63 6c 61 73 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>.
9b720 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 a_string.=.<span.class="tok-str"
9b740 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 >&quot;foobar&quot;</span>;</spa
9b760 6e 3e 0a 3c 73 70 61 6e 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
9b780 70 61 6e 20 63 6c 61 73 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
9b7a0 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
9b7c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 72 69 6e 74 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 ok-str">&quot;print.too.many.arg
9b7e0 75 6d 65 6e 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 73 70 uments&quot;</span>.{</span>.<sp
9b800 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.
9b820 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 class="tok-str">&quot;here.is.a.
9b840 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 3a 20 string:.'{s}'.here.is.a.number:.
9b860 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 {}\n&quot;</span>,..{</span>.<sp
9b880 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 73 74 72 69 6e 67 an.class="line">........a_string
9b8a0 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">....
9b8c0 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ....a_number,</span>.<span.class
9b8e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e ="line">........a_number,</span>
9b900 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 .<span.class="line">....});</spa
9b920 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></
9b940 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
9b960 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<
9b980 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
9b9a0 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 7a ss="line">$.<kbd>zig.test.test.z
9b9c0 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
9b9e0 65 22 3e 3c 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 e"><span.class="t0_1">./lib/std/
9ba00 66 6d 74 2e 7a 69 67 3a 33 36 30 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 fmt.zig:360:18:.</span><span.cla
9ba20 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
9ba40 6c 61 73 73 3d 22 74 30 5f 31 22 3e 55 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 lass="t0_1">Unused.argument.in.'
9ba60 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.
9ba80 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d a.number:.{}</span>.<span.class=
9baa0 22 6c 69 6e 65 22 3e 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 "line">'</span></span>.<span.cla
9bac0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 31 20 3d 26 67 74 3b 20 40 63 ss="line">............1.=&gt;.@c
9bae0 6f 6d 70 69 6c 65 45 72 72 6f 72 28 26 71 75 6f 74 3b 55 6e 75 73 65 64 20 61 72 67 75 6d 65 6e ompileError(&quot;Unused.argumen
9bb00 74 20 69 6e 20 27 26 71 75 6f 74 3b 20 2b 2b 20 66 6d 74 20 2b 2b 20 26 71 75 6f 74 3b 27 26 71 t.in.'&quot;.++.fmt.++.&quot;'&q
9bb20 75 6f 74 3b 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 uot;),</span>.<span.class="line"
9bb40 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 74 >.................<span.class="t
9bb60 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
9bb80 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 6c 69 s="line"><span.class="t0_1">./li
9bba0 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 73 70 61 b/std/io/writer.zig:28:34:.</spa
9bbc0 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
9bbe0 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
9bc00 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
9bc20 3d 22 6c 69 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 ="line">............return.std.f
9bc40 6d 74 2e 66 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 mt.format(self,.format,.args);</
9bc60 73 70 61 6e 3e 0a 3c 73 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">.......
9bc80 20 20 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.
9bca0 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
9bcc0 70 61 6e 20 63 6c 61 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 pan.class="line"><span.class="t0
9bce0 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 36 36 3a 32 37 3a 20 3c _1">./lib/std/debug.zig:66:27:.<
9bd00 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:.
9bd20 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
9bd40 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
9bd60 6c 61 73 73 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 lass="line">....nosuspend.stderr
9bd80 2e 70 72 69 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 .print(fmt,.args).catch.return;<
9bda0 2f 73 70 61 6e 3e 0a 3c 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">......
9bdc0 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=
9bde0 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
9be00 61 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">./
9be20 64 6f 63 67 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 docgen_tmp/test.zig:7:10:.</span
9be40 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 61 ><span.class="t36_1">note:.</spa
9be60 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 6d n><span.class="t0_1">called.from
9be80 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 3d .here</span></span>.<span.class=
9bea0 22 6c 69 6e 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 "line">....print(&quot;here.is.a
9bec0 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 3a .string:.'{s}'.here.is.a.number:
9bee0 20 7b 7d 5c 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 .{}\n&quot;,..{</span>.<span.cla
9bf00 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 73 73 3d 22 ss="line">.........<span.class="
9bf20 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
9bf40 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
9bf60 6f 63 67 65 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 ocgen_tmp/test.zig:6:33:.</span>
9bf80 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 61 6e <span.class="t36_1">note:.</span
9bfa0 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 6d 20 ><span.class="t0_1">called.from.
9bfc0 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 3d 22 here</span></span>.<span.class="
9bfe0 6c 69 6e 65 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 line">test.&quot;print.too.many.
9c000 61 72 67 75 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 arguments&quot;.{</span>.<span.c
9c020 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">....................
9c040 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">
9c060 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
9c080 65 22 3e 3c 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 e"><span.class="t0_1">./lib/std/
9c0a0 69 6f 2f 77 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 io/writer.zig:28:34:.</span><spa
9c0c0 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 73 n.class="t31_1">error:.</span><s
9c0e0 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 20 74 79 70 65 20 27 pan.class="t0_1">expected.type.'
9c100 73 74 64 2e 6f 73 2e 57 72 69 74 65 45 72 72 6f 72 21 76 6f 69 64 27 2c 20 66 6f 75 6e 64 20 27 std.os.WriteError!void',.found.'
9c120 40 74 79 70 65 49 6e 66 6f 28 40 74 79 70 65 49 6e 66 6f 28 40 54 79 70 65 4f 66 28 73 74 64 2e @typeInfo(@typeInfo(@TypeOf(std.
9c140 66 6d 74 2e 66 6f 72 6d 61 74 29 29 2e 46 6e 2e 72 65 74 75 72 6e 5f 74 79 70 65 2e 3f 29 2e 45 fmt.format)).Fn.return_type.?).E
9c160 72 72 6f 72 55 6e 69 6f 6e 2e 65 72 72 6f 72 5f 73 65 74 21 76 6f 69 64 27 3c 2f 73 70 61 6e 3e rrorUnion.error_set!void'</span>
9c180 3c 2f 73 70 61 6e 3e 0a 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">.....
9c1a0 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 6c .......return.std.fmt.format(sel
9c1c0 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 63 f,.format,.args);</span>.<span.c
9c1e0 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">....................
9c200 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"
9c220 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
9c240 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 6c 69 62 2f 73 74 64 ne"><span.class="t0_1">./lib/std
9c260 2f 64 65 62 75 67 2e 7a 69 67 3a 36 36 3a 32 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 /debug.zig:66:27:.</span><span.c
9c280 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.
9c2a0 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 2f 73 class="t0_1">called.from.here</s
9c2c0 70 61 6e 3e 3c 2f 73 70 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">.
9c2e0 20 20 20 6e 6f 73 75 73 70 65 6e 64 20 73 74 64 65 72 72 2e 70 72 69 6e 74 28 66 6d 74 2c 20 61 ...nosuspend.stderr.print(fmt,.a
9c300 72 67 73 29 20 63 61 74 63 68 20 72 65 74 75 72 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 rgs).catch.return;</span>.<span.
9c320 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">...................
9c340 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
9c360 61 6e 3e 3c 2f 73 70 61 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
9c380 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
9c3a0 73 74 2e 7a 69 67 3a 37 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:7:10:.</span><span.class=
9c3c0 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
9c3e0 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><
9c400 2f 73 70 61 6e 3e 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
9c420 69 6e 74 28 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d int(&quot;here.is.a.string:.'{s}
9c440 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 2c 20 '.here.is.a.number:.{}\n&quot;,.
9c460 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">...
9c480 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
9c4a0 6e 3e 3c 2f 73 70 61 6e 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
9c4c0 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
9c4e0 74 2e 7a 69 67 3a 36 3a 33 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig:6:33:.</span><span.class="
9c500 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=
9c520 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></
9c540 73 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
9c560 75 6f 74 3b 70 72 69 6e 74 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f uot;print.too.many.arguments&quo
9c580 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 20 t;.{</span>.<span.class="line">.
9c5a0 20 20 20 20 20 20 20 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 ...............................<
9c5c0 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
9c5e0 6e 3e 0a 3c 73 70 61 6e 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
9c600 73 3d 22 74 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 s="t0_1">./lib/std/io/writer.zig
9c620 3a 32 38 3a 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f :28:34:.</span><span.class="t36_
9c640 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_
9c660 31 22 3e 65 72 72 6f 72 20 73 65 74 20 27 40 74 79 70 65 49 6e 66 6f 28 40 74 79 70 65 49 6e 66 1">error.set.'@typeInfo(@typeInf
9c680 6f 28 40 54 79 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 o(@TypeOf(std.fmt.format)).Fn.re
9c6a0 74 75 72 6e 5f 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 turn_type.?).ErrorUnion.error_se
9c6c0 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 65 72 72 6f 72 20 73 65 74 20 27 73 t'.cannot.cast.into.error.set.'s
9c6e0 74 64 2e 6f 73 2e 57 72 69 74 65 45 72 72 6f 72 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a td.os.WriteError'</span></span>.
9c700 3c 73 70 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
9c720 65 74 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 eturn.std.fmt.format(self,.forma
9c740 74 2c 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 t,.args);</span>.<span.class="li
9c760 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 20 ne">............................
9c780 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
9c7a0 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>.
9c7c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 67 69 76 65 73 20 70 72 6f 67 72 61 ......<p>.......Zig.gives.progra
9c7e0 6d 6d 65 72 73 20 74 68 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 mmers.the.tools.needed.to.protec
9c800 74 20 74 68 65 6d 73 65 6c 76 65 73 20 61 67 61 69 6e 73 74 20 74 68 65 69 72 20 6f 77 6e 20 6d t.themselves.against.their.own.m
9c820 69 73 74 61 6b 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 istakes........</p>.......<p>...
9c840 20 20 20 20 5a 69 67 20 64 6f 65 73 6e 27 74 20 63 61 72 65 20 77 68 65 74 68 65 72 20 74 68 65 ....Zig.doesn't.care.whether.the
9c860 20 66 6f 72 6d 61 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 .format.argument.is.a.string.lit
9c880 65 72 61 6c 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 74 68 61 74 20 69 74 20 69 73 20 61 20 63 6f eral,.......only.that.it.is.a.co
9c8a0 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 74 68 61 74 20 63 61 6e 20 mpile-time.known.value.that.can.
9c8c0 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 be.coerced.to.a.<code><span.clas
9c8e0 73 3d 22 6c 69 6e 65 22 3e 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e s="line">[]<span.class="tok-kw">
9c900 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
9c920 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 3a 0a 20 20 20 pe">u8</span></span></code>:....
9c940 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
9c960 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
9c980 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 61 70 74 69 6f ile">print.zig</cite></figcaptio
9c9a0 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">
9c9c0 3c 73 70 61 6e 20 63 6c 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
9c9e0 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 74 >.print.=.<span.class="tok-built
9ca00 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="
9ca20 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>)
9ca40 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 73 .debug.print;</span>.<span.class
9ca60 3d 22 6c 69 6e 65 22 3e 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
9ca80 65 22 3e 3c 73 70 61 6e 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
9caa0 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 22 74 6f 6b 2d pan>.a_number:.<span.class="tok-
9cac0 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="
9cae0 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>.
9cb00 3c 73 70 61 6e 20 63 6c 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="
9cb20 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 6e 67 20 3d 20 tok-kw">const</span>.a_string.=.
9cb40 3c 73 70 61 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 <span.class="tok-str">&quot;foob
9cb60 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 61 6e 20 63 6c ar&quot;</span>;</span>.<span.cl
9cb80 61 73 73 3d 22 6c 69 6e 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">
9cba0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6d 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.fmt.=.<span.class="
9cbc0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a tok-str">&quot;here.is.a.string:
9cbe0 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 .'{s}'.here.is.a.number:.{}\n&qu
9cc00 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ot;</span>;</span>.<span.class="
9cc20 6c 69 6e 65 22 3e 3c 2f 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"
9cc40 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>
9cc60 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>.
9cc80 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>
9cca0 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</
9ccc0 73 70 61 6e 3e 20 7b 3c 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
9cce0 22 3e 20 20 20 20 70 72 69 6e 74 28 66 6d 74 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e ">....print(fmt,..{a_string,.a_n
9cd00 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 69 6e umber});</span>.<span.class="lin
9cd20 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
9cd40 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
9cd60 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
9cd80 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
9cda0 67 20 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 g.build-exe.print.zig</kbd></spa
9cdc0 6e 3e 0a 3c 73 70 61 6e 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
9cde0 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 70 72 69 6e 74 3c pan.class="line">$.<kbd>./print<
9ce00 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">
9ce20 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 here.is.a.string:.'foobar'.here.
9ce40 69 73 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 is.a.number:.1234</span>.</samp>
9ce60 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>.......
9ce80 54 68 69 73 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 20 This.works.fine........</p>.....
9cea0 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 61 6c ..<p>.......Zig.does.not.special
9cec0 20 63 61 73 65 20 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 74 69 6e 67 20 69 6e 20 74 68 65 20 63 .case.string.formatting.in.the.c
9cee0 6f 6d 70 69 6c 65 72 20 61 6e 64 20 69 6e 73 74 65 61 64 20 65 78 70 6f 73 65 73 20 65 6e 6f 75 ompiler.and.instead.exposes.enou
9cf00 67 68 20 70 6f 77 65 72 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 69 73 0a 20 20 20 20 gh.power.to.accomplish.this.....
9cf20 20 20 74 61 73 6b 20 69 6e 20 75 73 65 72 6c 61 6e 64 2e 20 49 74 20 64 6f 65 73 20 73 6f 20 77 ..task.in.userland..It.does.so.w
9cf40 69 74 68 6f 75 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 ithout.introducing.another.langu
9cf60 61 67 65 20 6f 6e 20 74 6f 70 20 6f 66 20 5a 69 67 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 age.on.top.of.Zig,.such.as......
9cf80 20 61 20 6d 61 63 72 6f 20 6c 61 6e 67 75 61 67 65 20 6f 72 20 61 20 70 72 65 70 72 6f 63 65 73 .a.macro.language.or.a.preproces
9cfa0 73 6f 72 20 6c 61 6e 67 75 61 67 65 2e 20 49 74 27 73 20 5a 69 67 20 61 6c 6c 20 74 68 65 20 77 sor.language..It's.Zig.all.the.w
9cfc0 61 79 20 64 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 20 20 ay.down........</p>.............
9cfe0 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
9d000 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f f="#inline-while">inline.while</
9d020 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 a></li>.<li><a.href="#inline-for
9d040 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 ">inline.for</a></li>.</ul>.....
9d060 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 ..........<h2.id="Assembly"><a.h
9d080 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 ref="nav.xhtml#toc-Assembly">Ass
9d0a0 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="#
9d0c0 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>
9d0e0 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
9d100 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
9d120 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...
9d140 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
9d160 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
9d180 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
9d1a0 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
9d1c0 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,
9d1e0 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
9d200 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>..
9d220 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="
9d240 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
9d260 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
9d280 64 65 3e 3c 73 70 61 6e 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
9d2a0 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
9d2c0 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
9d2e0 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
9d300 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>.{
9d320 3c 2f 73 70 61 6e 3e 0a 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">....<
9d340 73 70 61 6e 20 63 6c 61 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>
9d360 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
9d380 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>;</
9d3a0 73 70 61 6e 3e 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">...._.=
9d3c0 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
9d3e0 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
9d400 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);</
9d420 73 70 61 6e 3e 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">...._.=
9d440 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=
9d460 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>.<
9d480 73 70 61 6e 20 63 6c 61 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
9d4a0 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>;</
9d4c0 73 70 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
9d4e0 3e 0a 3c 73 70 61 6e 20 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
9d500 61 6e 20 63 6c 61 73 73 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
9d520 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
9d540 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
9d560 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>;
9d580 3c 2f 73 70 61 6e 3e 0a 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
9d5a0 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
9d5c0 20 63 6c 61 73 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
9d5e0 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"
9d600 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="
9d620 6c 69 6e 65 22 3e 3c 2f 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"
9d640 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>
9d660 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
9d680 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="
9d6a0 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
9d6c0 61 6e 20 63 6c 61 73 73 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
9d6e0 61 73 73 3d 22 6c 69 6e 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">
9d700 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">
9d720 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
9d740 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
9d760 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
9d780 3a 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</
9d7a0 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
9d7c0 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=
9d7e0 22 6c 69 6e 65 22 3e 20 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">
9d800 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
9d820 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
9d840 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=
9d860 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
9d880 70 61 6e 3e 3c 2f 73 70 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">.
9d8a0 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-
9d8c0 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>.(
9d8e0 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
9d900 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
9d920 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
9d940 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;<
9d960 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
9d980 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
9d9a0 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
9d9c0 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
9d9e0 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
9da00 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
9da20 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;
9da40 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
9da60 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
9da80 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
9daa0 3d 22 6c 69 6e 65 22 3e 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
9dac0 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
9dae0 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
9db00 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<
9db20 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-
9db40 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.
9db60 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
9db80 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
9dba0 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
9dbc0 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
9dbe0 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
9dc00 3e 0a 3c 73 70 61 6e 20 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
9dc20 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
9dc40 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
9dc60 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>
9dc80 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
9dca0 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.
9dcc0 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
9dce0 61 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}&
9dd00 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=
9dd20 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>.
9dd40 3c 73 70 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
9dd60 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
9dd80 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),</
9dda0 73 70 61 6e 3e 0a 3c 73 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">.......
9ddc0 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">
9dde0 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),
9de00 3c 2f 73 70 61 6e 3e 0a 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">.....
9de20 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
9de40 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
9de60 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">...
9de80 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
9dea0 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
9dec0 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">..
9dee0 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
9df00 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
9df20 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
9df40 6e 3e 3c 2f 73 70 61 6e 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">...
9df60 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">}<
9df80 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
9dfa0 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
9dfc0 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><
9dfe0 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
9e000 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
9e020 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
9e040 69 6e 65 22 3e 3c 2f 73 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">
9e060 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
9e080 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>
9e0a0 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
9e0c0 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:..
9e0e0 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
9e100 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=
9e120 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
9e140 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><
9e160 73 70 61 6e 20 63 6c 61 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
9e180 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
9e1a0 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.
9e1c0 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
9e1e0 3d 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
9e200 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
9e220 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
9e240 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="
9e260 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.
9e280 63 6c 61 73 73 3d 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
9e2a0 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
9e2c0 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
9e2e0 3c 2f 73 70 61 6e 3e 3c 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
9e300 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
9e320 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
9e340 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
9e360 3e 0a 3c 73 70 61 6e 20 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
9e380 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
9e3a0 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
9e3c0 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
9e3e0 6c 61 73 73 3d 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
9e400 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
9e420 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
9e440 3d 22 6c 69 6e 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
9e460 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
9e480 73 3d 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
9e4a0 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.
9e4c0 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
9e4e0 6e 3e 3c 2f 73 70 61 6e 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
9e500 61 6e 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
9e520 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]
9e540 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
9e560 70 61 6e 20 63 6c 61 73 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
9e580 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
9e5a0 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
9e5c0 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
9e5e0 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">/
9e600 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
9e620 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,</
9e640 73 70 61 6e 3e 3c 2f 73 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">
9e660 3c 73 70 61 6e 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.
9e680 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.
9e6a0 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
9e6c0 6e 3e 0a 3c 73 70 61 6e 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
9e6e0 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
9e700 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.`
9e720 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
9e740 61 73 73 3d 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
9e760 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.
9e780 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
9e7a0 61 6e 3e 3c 2f 73 70 61 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
9e7c0 70 61 6e 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
9e7e0 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
9e800 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
9e820 6e 20 63 6c 61 73 73 3d 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="
9e840 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>
9e860 0a 3c 73 70 61 6e 20 63 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=
9e880 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
9e8a0 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
9e8c0 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
9e8e0 6c 61 73 73 3d 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
9e900 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
9e920 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
9e940 3e 0a 3c 73 70 61 6e 20 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
9e960 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
9e980 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
9e9a0 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
9e9c0 73 73 3d 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
9e9e0 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
9ea00 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</
9ea20 73 70 61 6e 3e 3c 2f 73 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">
9ea40 3c 73 70 61 6e 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
9ea60 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
9ea80 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.<
9eaa0 2f 73 70 61 6e 3e 3c 2f 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"
9eac0 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"
9eae0 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
9eb00 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
9eb20 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
9eb40 70 61 6e 3e 0a 3c 73 70 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
9eb60 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
9eb80 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
9eba0 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
9ebc0 6e 20 63 6c 61 73 73 3d 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-
9ebe0 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
9ec00 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
9ec20 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
9ec40 20 63 6c 61 73 73 3d 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
9ec60 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
9ec80 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
9eca0 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
9ecc0 3d 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
9ece0 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,
9ed00 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</
9ed20 73 70 61 6e 3e 3c 2f 73 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">
9ed40 3c 73 70 61 6e 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
9ed60 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
9ed80 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
9eda0 3d 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
9edc0 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
9ede0 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
9ee00 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
9ee20 3e 0a 3c 73 70 61 6e 20 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
9ee40 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
9ee60 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
9ee80 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
9eea0 3d 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
9eec0 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
9eee0 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
9ef00 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.
9ef20 63 6c 61 73 73 3d 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
9ef40 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
9ef60 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
9ef80 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
9efa0 73 73 3d 22 6c 69 6e 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
9efc0 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
9efe0 70 61 6e 3e 0a 3c 73 70 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
9f000 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
9f020 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;`.
9f040 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
9f060 6e 3e 0a 3c 73 70 61 6e 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
9f080 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
9f0a0 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
9f0c0 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
9f0e0 6e 20 63 6c 61 73 73 3d 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-
9f100 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
9f120 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
9f140 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
9f160 73 73 3d 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
9f180 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.
9f1a0 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
9f1c0 3e 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;.
9f1e0 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
9f200 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"><
9f220 73 70 61 6e 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
9f240 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></
9f260 73 70 61 6e 3e 0a 3c 73 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
9f280 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
9f2a0 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
9f2c0 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
9f2e0 61 6e 3e 3c 2f 73 70 61 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
9f300 70 61 6e 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
9f320 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
9f340 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</
9f360 73 70 61 6e 3e 3c 2f 73 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">
9f380 3c 73 70 61 6e 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
9f3a0 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
9f3c0 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
9f3e0 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
9f400 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">//
9f420 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>.<
9f440 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]
9f460 20 3c 73 70 61 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
9f480 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>
9f4a0 0a 3c 73 70 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
9f4c0 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;{
9f4e0 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>.
9f500 3c 73 70 61 6e 20 63 6c 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="
9f520 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
9f540 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
9f560 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
9f580 6e 3e 0a 3c 73 70 61 6e 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
9f5a0 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
9f5c0 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
9f5e0 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></
9f600 73 70 61 6e 3e 0a 3c 73 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
9f620 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
9f640 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
9f660 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>
9f680 3c 2f 73 70 61 6e 3e 0a 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
9f6a0 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
9f6c0 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
9f6e0 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.
9f700 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
9f720 6c 61 73 73 3d 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
9f740 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.
9f760 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.
9f780 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>.
9f7a0 3c 73 70 61 6e 20 63 6c 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="
9f7c0 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.
9f7e0 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
9f800 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
9f820 61 6e 3e 0a 3c 73 70 61 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
9f840 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
9f860 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
9f880 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=
9f8a0 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
9f8c0 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
9f8e0 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;
9f900 3c 2f 73 70 61 6e 3e 3c 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
9f920 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
9f940 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
9f960 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&
9f980 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
9f9a0 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
9f9c0 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
9f9e0 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
9fa00 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.
9fa20 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
9fa40 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>.......
9fa60 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.
9fa80 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
9faa0 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
9fac0 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.
9fae0 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
9fb00 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
9fb20 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
9fb40 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
9fb60 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
9fb80 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
9fba0 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>..
9fbc0 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"
9fbe0 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4f 75 74 70 75 74 2d 43 ><a.href="nav.xhtml#toc-Output-C
9fc00 6f 6e 73 74 72 61 69 6e 74 73 22 3e 4f 75 74 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f onstraints">Output.Constraints</
9fc20 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 75 74 70 75 74 2d a>.<a.class="hdr".href="#Output-
9fc40 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 Constraints">..</a></h3>........
9fc60 3c 70 3e 0a 20 20 20 20 20 20 4f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 <p>.......Output.constraints.are
9fc80 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 .still.considered.to.be.unstable
9fca0 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 .in.Zig,.and.......so.......<a.h
9fcc0 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 ref="http://releases.llvm.org/10
9fce0 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
9fd00 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 m-constraint-string">LLVM.docume
9fd20 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 ntation</a>.......and.......<a.h
9fd40 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 ref="https://gcc.gnu.org/onlined
9fd60 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 ocs/gcc/Extended-Asm.html">GCC.d
9fd80 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 ocumentation</a>.......must.be.u
9fda0 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e sed.to.understand.the.semantics.
9fdc0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 .......</p>.......<p>.......Note
9fde0 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 6f .that.some.breaking.changes.to.o
9fe00 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 utput.constraints.are.planned.wi
9fe20 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 th.......<a.href="https://github
9fe40 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 .com/ziglang/zig/issues/215">iss
9fe60 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a ue.#215</a>........</p>.........
9fe80 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 ......<h3.id="Input-Constraints"
9fea0 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 70 75 74 2d 43 6f ><a.href="nav.xhtml#toc-Input-Co
9fec0 6e 73 74 72 61 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e nstraints">Input.Constraints</a>
9fee0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 70 75 74 2d 43 6f 6e .<a.class="hdr".href="#Input-Con
9ff00 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e straints">..</a></h3>........<p>
9ff20 0a 20 20 20 20 20 20 49 6e 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 .......Input.constraints.are.sti
9ff40 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 ll.considered.to.be.unstable.in.
9ff60 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d Zig,.and.......so.......<a.href=
9ff80 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 "http://releases.llvm.org/10.0.0
9ffa0 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 6d 2d 63 6f /docs/LangRef.html#inline-asm-co
9ffc0 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 nstraint-string">LLVM.documentat
9ffe0 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d ion</a>.......and.......<a.href=
a0000 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f "https://gcc.gnu.org/onlinedocs/
a0020 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d gcc/Extended-Asm.html">GCC.docum
a0040 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 entation</a>.......must.be.used.
a0060 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 to.understand.the.semantics.....
a0080 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 ...</p>.......<p>.......Note.tha
a00a0 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 69 6e 70 75 74 t.some.breaking.changes.to.input
a00c0 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 .constraints.are.planned.with...
a00e0 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/
a0100 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 ziglang/zig/issues/215">issue.#2
a0120 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 15</a>........</p>..............
a0140 20 3c 68 33 20 69 64 3d 22 43 6c 6f 62 62 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e .<h3.id="Clobbers"><a.href="nav.
a0160 78 68 74 6d 6c 23 74 6f 63 2d 43 6c 6f 62 62 65 72 73 22 3e 43 6c 6f 62 62 65 72 73 3c 2f 61 3e xhtml#toc-Clobbers">Clobbers</a>
a0180 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 62 65 72 73 22 .<a.class="hdr".href="#Clobbers"
a01a0 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 43 6c >..</a></h3>........<p>.......Cl
a01c0 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 74 65 72 73 20 obbers.are.the.set.of.registers.
a01e0 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 65 73 65 72 76 whose.values.will.not.be.preserv
a0200 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 20 20 74 68 65 ed.by.the.execution.of.......the
a0220 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 74 20 69 6e 63 .assembly.code..These.do.not.inc
a0240 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 65 72 73 2e 20 lude.output.or.input.registers..
a0260 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 61 6c 75 65 20 The.special.clobber.......value.
a0280 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 3c 73 70 61 of.<code><span.class="line"><spa
a02a0 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 6f 72 79 26 71 n.class="tok-str">&quot;memory&q
a02c0 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 65 61 6e 73 20 uot;</span></span></code>.means.
a02e0 74 68 61 74 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 61 75 73 65 73 20 77 72 69 74 65 73 20 that.the.assembly.causes.writes.
a0300 74 6f 0a 20 20 20 20 20 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 65 64 20 6d 65 to.......arbitrary.undeclared.me
a0320 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6d 65 mory.locations.-.not.only.the.me
a0340 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 65 64 0a 20 20 mory.pointed.to.by.a.declared...
a0360 20 20 20 20 69 6e 64 69 72 65 63 74 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ....indirect.output........</p>.
a0380 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 61 69 6c 75 72 65 20 74 6f 20 64 65 63 6c 61 ......<p>.......Failure.to.decla
a03a0 72 65 20 74 68 65 20 66 75 6c 6c 20 73 65 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 20 66 6f 72 20 re.the.full.set.of.clobbers.for.
a03c0 61 20 67 69 76 65 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 0a 20 20 20 20 20 20 65 78 a.given.inline.assembly.......ex
a03e0 70 72 65 73 73 69 6f 6e 20 69 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 pression.is.unchecked.<a.href="#
a0400 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 65 Undefined-Behavior">Undefined.Be
a0420 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 havior</a>........</p>..........
a0440 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 3c 61 .....<h3.id="Global-Assembly"><a
a0460 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 .href="nav.xhtml#toc-Global-Asse
a0480 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 mbly">Global.Assembly</a>.<a.cla
a04a0 73 73 3d 22 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 ss="hdr".href="#Global-Assembly"
a04c0 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 57 68 >..</a></h3>........<p>.......Wh
a04e0 65 6e 20 61 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 en.an.assembly.expression.occurs
a0500 20 69 6e 20 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 .in.a.container.level.<a.href="#
a0520 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 2c 20 74 68 comptime">comptime</a>.block,.th
a0540 69 73 20 69 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 is.is.......<strong>global.assem
a0560 62 6c 79 3c 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 bly</strong>........</p>.......<
a0580 70 3e 0a 20 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 p>.......This.kind.of.assembly.h
a05a0 61 73 20 64 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 as.different.rules.than.inline.a
a05c0 73 73 65 6d 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 ssembly..First,.<code><span.clas
a05e0 73 3d 22 6c 69 6e 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
a0600 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 0a 20 20 20 20 latile</span></span></code>.....
a0620 20 20 69 73 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 ..is.not.valid.because.all.globa
a0640 6c 20 61 73 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 l.assembly.is.unconditionally.in
a0660 63 6c 75 64 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 cluded........Second,.there.are.
a0680 6e 6f 20 69 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 no.inputs,.outputs,.or.clobbers.
a06a0 20 41 6c 6c 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 .All.global.assembly.is.concaten
a06c0 61 74 65 64 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 ated.......verbatim.into.one.lon
a06e0 67 20 73 74 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 g.string.and.assembled.together.
a0700 20 54 68 65 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 .There.are.no.template.substitut
a0720 69 6f 6e 20 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 ion.rules.regarding.......<code>
a0740 25 3c 2f 63 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 %</code>.as.there.are.in.inline.
a0760 61 73 73 65 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 assembly.expressions........</p>
a0780 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
a07a0 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 67 6c ="zig-cap"><cite.class="file">gl
a07c0 6f 62 61 6c 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 obal-asm.zig</cite></figcaption>
a07e0 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
a0800 70 61 6e 20 63 6c 61 73 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>.
a0820 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">
a0840 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-
a0860 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
a0880 70 61 6e 3e 0a 3c 73 70 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
a08a0 61 73 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
a08c0 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
a08e0 70 61 6e 20 63 6c 61 73 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
a0900 6c 61 73 73 3d 22 6c 69 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"
a0920 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >comptime</span>.{</span>.<span.
a0940 63 6c 61 73 73 3d 22 6c 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
a0960 6b 2d 6b 77 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 k-kw">asm</span>.(</span>.<span.
a0980 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
a09a0 3d 22 74 6f 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 ="tok-str">\\.global.my_func;</s
a09c0 70 61 6e 3e 3c 2f 73 70 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">.
a09e0 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 2e .......<span.class="tok-str">\\.
a0a00 74 79 70 65 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 type.my_func,.@function;</span><
a0a20 2f 73 70 61 6e 3e 0a 3c 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">......
a0a40 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 6d 79 5f 66 75 6e ..<span.class="tok-str">\\my_fun
a0a60 63 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 c:</span></span>.<span.class="li
a0a80 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 73 74 72 ne">........<span.class="tok-str
a0aa0 22 3e 5c 5c 20 20 6c 65 61 20 28 25 72 64 69 2c 25 72 73 69 2c 31 29 2c 25 65 61 78 3c 2f 73 70 ">\\..lea.(%rdi,%rsi,1),%eax</sp
a0ac0 61 6e 3e 3c 2f 73 70 61 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">..
a0ae0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 ......<span.class="tok-str">\\..
a0b00 72 65 74 71 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 retq</span></span>.<span.class="
a0b20 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 6c 61 73 73 3d line">....);</span>.<span.class=
a0b40 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
a0b60 65 22 3e 3c 2f 73 70 61 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
a0b80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">extern</span>
a0ba0 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>.
a0bc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 79 5f 66 75 6e 63 3c 2f 73 70 <span.class="tok-fn">my_func</sp
a0be0 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 an>(a:.<span.class="tok-type">i3
a0c00 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 2</span>,.b:.<span.class="tok-ty
a0c20 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">i32</span>).<span.class="tok
a0c40 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -type">i32</span>;</span>.<span.
a0c60 63 6c 61 73 73 3d 22 6c 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
a0c80 3d 22 6c 69 6e 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
a0ca0 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">&
a0cc0 71 75 6f 74 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 quot;global.assembly&quot;</span
a0ce0 3e 20 7b 3c 2f 73 70 61 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">..
a0d00 20 20 3c 73 70 61 6e 20 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
a0d20 3e 20 65 78 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 >.expect(my_func(<span.class="to
a0d40 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">12</span>,.<span.class
a0d60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 ="tok-number">34</span>).==.<spa
a0d80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b n.class="tok-number">46</span>);
a0da0 3c 2f 73 70 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
a0dc0 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
a0de0 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
a0e00 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
a0e20 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 67 n.class="line">$.<kbd>zig.test.g
a0e40 6c 6f 62 61 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 lobal-asm.zig.-target.x86_64-lin
a0e60 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 69 6e ux</kbd></span>.<span.class="lin
a0e80 65 22 3e 31 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 e">1/1.test.&quot;global.assembl
a0ea0 79 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 y&quot;....OK</span>.<span.class
a0ec0 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
a0ee0 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>.......
a0f00 0a 20 20 20 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 ...............<h2.id="Atomics">
a0f20 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 74 6f 6d 69 63 73 22 3e <a.href="nav.xhtml#toc-Atomics">
a0f40 41 74 6f 6d 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d Atomics</a>.<a.class="hdr".href=
a0f60 22 23 41 74 6f 6d 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 "#Atomics">..</a></h2>........<p
a0f80 3e 54 4f 44 4f 3a 20 40 66 65 6e 63 65 28 29 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 >TODO:.@fence()</p>.......<p>TOD
a0fa0 4f 3a 20 40 61 74 6f 6d 69 63 20 72 6d 77 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f O:.@atomic.rmw</p>.......<p>TODO
a0fc0 3a 20 62 75 69 6c 74 69 6e 20 61 74 6f 6d 69 63 20 6d 65 6d 6f 72 79 20 6f 72 64 65 72 69 6e 67 :.builtin.atomic.memory.ordering
a0fe0 20 65 6e 75 6d 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 .enum</p>..............<h2.id="A
a1000 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 sync-Functions"><a.href="nav.xht
a1020 6d 6c 23 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 ml#toc-Async-Functions">Async.Fu
a1040 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d nctions</a>.<a.class="hdr".href=
a1060 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a "#Async-Functions">..</a></h2>..
a1080 20 20 20 20 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 ......<p>.......When.a.function.
a10a0 69 73 20 63 61 6c 6c 65 64 2c 20 61 20 66 72 61 6d 65 20 69 73 20 70 75 73 68 65 64 20 74 6f 20 is.called,.a.frame.is.pushed.to.
a10c0 74 68 65 20 73 74 61 63 6b 2c 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 75 the.stack,.......the.function.ru
a10e0 6e 73 20 75 6e 74 69 6c 20 69 74 20 72 65 61 63 68 65 73 20 61 20 72 65 74 75 72 6e 20 73 74 61 ns.until.it.reaches.a.return.sta
a1100 74 65 6d 65 6e 74 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 66 72 61 6d 65 20 69 73 20 70 6f tement,.and.then.the.frame.is.po
a1120 70 70 65 64 20 66 72 6f 6d 20 74 68 65 20 73 74 61 63 6b 2e 0a 20 20 20 20 20 20 54 68 65 20 63 pped.from.the.stack........The.c
a1140 6f 64 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 61 6c 6c 73 69 74 65 20 64 6f 65 73 20 ode.following.the.callsite.does.
a1160 6e 6f 74 20 72 75 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 not.run.until.the.function.retur
a1180 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 41 ns........</p>.......<p>.......A
a11a0 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 n.async.function.is.a.function.w
a11c0 68 6f 73 65 20 65 78 65 63 75 74 69 6f 6e 20 69 73 20 73 70 6c 69 74 20 69 6e 74 6f 20 61 6e 20 hose.execution.is.split.into.an.
a11e0 3c 63 6f 64 65 3e 3c 73 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
a1200 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
a1220 3e 3c 2f 63 6f 64 65 3e 20 69 6e 69 74 69 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 66 6f 6c 6c 6f ></code>.initiation,.......follo
a1240 77 65 64 20 62 79 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 wed.by.an.<code><span.class="lin
a1260 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 73 e"><span.class="tok-kw">await</s
a1280 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 49 pan></span></code>.completion..I
a12a0 74 73 20 66 72 61 6d 65 20 69 73 0a 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 65 78 70 6c 69 ts.frame.is.......provided.expli
a12c0 63 69 74 6c 79 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 61 6e 64 20 69 74 20 63 61 6e 20 citly.by.the.caller,.and.it.can.
a12e0 62 65 20 73 75 73 70 65 6e 64 65 64 20 61 6e 64 20 72 65 73 75 6d 65 64 20 61 6e 79 20 6e 75 6d be.suspended.and.resumed.any.num
a1300 62 65 72 20 6f 66 20 74 69 6d 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ber.of.times........</p>.......<
a1320 70 3e 0a 20 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 p>.......The.code.following.the.
a1340 3c 63 6f 64 65 3e 3c 73 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
a1360 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
a1380 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 20 72 75 6e 73 20 69 6d 6d 65 64 69 61 74 65 ></code>.callsite.runs.immediate
a13a0 6c 79 20 61 66 74 65 72 20 74 68 65 20 61 73 79 6e 63 20 0a 20 20 20 20 20 20 66 75 6e 63 74 69 ly.after.the.async........functi
a13c0 6f 6e 20 66 69 72 73 74 20 73 75 73 70 65 6e 64 73 2e 20 57 68 65 6e 20 74 68 65 20 72 65 74 75 on.first.suspends..When.the.retu
a13e0 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 rn.value.of.the.async.function.i
a1400 73 20 6e 65 65 64 65 64 2c 20 0a 20 20 20 20 20 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 64 s.needed,........the.calling.cod
a1420 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e.can.<code><span.class="line"><
a1440 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 3e span.class="tok-kw">await</span>
a1460 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 </span></code>.on.the.async.func
a1480 74 69 6f 6e 20 66 72 61 6d 65 2e 20 0a 20 20 20 20 20 20 54 68 69 73 20 77 69 6c 6c 20 73 75 73 tion.frame.........This.will.sus
a14a0 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 69 6c 20 74 68 65 20 pend.the.calling.code.until.the.
a14c0 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 20 61 74 20 77 68 69 async.function.completes,.at.whi
a14e0 63 68 20 70 6f 69 6e 74 20 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 72 65 73 75 6d 65 ch.point........execution.resume
a1500 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 61 6e 20 63 6c 61 s.just.after.the.<code><span.cla
a1520 73 73 3d 22 6c 69 6e 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
a1540 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 61 6c 6c 73 69 wait</span></span></code>.callsi
a1560 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a te........</p>.......<p>.......Z
a1580 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 69 73 20 3c 63 6f ig.infers.that.a.function.is.<co
a15a0 64 65 3e 3c 73 70 61 6e 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
a15c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-kw">async</span></span></
a15e0 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 74 20 74 68 65 20 code>.when.it.observes.that.the.
a1600 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 3c 73 74 72 6f 6e function.contains.......a.<stron
a1620 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 3e 2e 20 41 73 79 g>suspension.point</strong>..Asy
a1640 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 20 74 68 65 20 73 nc.functions.can.be.called.the.s
a1660 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 0a 20 20 20 20 20 ame.as.normal.functions..A......
a1680 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 20 66 75 6e 63 74 .function.call.of.an.async.funct
a16a0 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 20 20 20 20 3c 2f ion.is.a.suspend.point........</
a16c0 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 6e 64 2d 52 65 73 p>.......<h3.id="Suspend-and-Res
a16e0 75 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 75 73 70 ume"><a.href="nav.xhtml#toc-Susp
a1700 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 65 73 75 end-and-Resume">Suspend.and.Resu
a1720 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 53 75 73 me</a>.<a.class="hdr".href="#Sus
a1740 70 65 6e 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 pend-and-Resume">..</a></h3>....
a1760 20 20 20 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 ....<p>.......At.any.point,.a.fu
a1780 6e 63 74 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 nction.may.suspend.itself..This.
a17a0 63 61 75 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 causes.control.flow.to.......ret
a17c0 75 72 6e 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 urn.to.the.callsite.(in.the.case
a17e0 20 6f 66 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 .of.the.first.suspension),......
a1800 20 6f 72 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 .or.resumer.(in.the.case.of.subs
a1820 65 71 75 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 equent.suspensions)........</p>.
a1840 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=
a1860 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 75 73 "zig-cap"><cite.class="file">sus
a1880 70 65 6e 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 pend_no_resume.zig</cite></figca
a18a0 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
a18c0 6e 65 22 3e 3c 73 70 61 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</
a18e0 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
a1900 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
a1920 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
a1940 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
a1960 70 61 6e 20 63 6c 61 73 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>.
a1980 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
a19a0 61 6e 3e 0a 3c 73 70 61 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>.<
a19c0 73 70 61 6e 20 63 6c 61 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
a19e0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.x:.<span.class
a1a00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
a1a20 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
a1a40 6e 3e 0a 3c 73 70 61 6e 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
a1a60 70 61 6e 20 63 6c 61 73 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
a1a80 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
a1aa0 6f 6b 2d 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 ok-str">&quot;suspend.with.no.re
a1ac0 73 75 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 61 6e sume&quot;</span>.{</span>.<span
a1ae0 20 63 6c 61 73 73 3d 22 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
a1b00 6f 6b 2d 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 ok-kw">var</span>.frame.=.<span.
a1b20 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 66 75 6e 63 class="tok-kw">async</span>.func
a1b40 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">..
a1b60 20 20 3c 73 70 61 6e 20 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
a1b80 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expect(x.==.<span.class="tok-n
a1ba0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">2</span>);</span>.<span.c
a1bc0 6c 61 73 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 lass="line">...._.=.frame;</span
a1be0 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
a1c00 70 61 6e 20 63 6c 61 73 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
a1c20 6c 61 73 73 3d 22 6c 69 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"
a1c40 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">
a1c60 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 2d 74 func</span>().<span.class="tok-t
a1c80 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.
a1ca0 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 61 73 class="line">....x.+=.<span.clas
a1cc0 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>.
a1ce0 3c 73 70 61 6e 20 63 6c 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
a1d00 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 3c 2f 73 ss="tok-kw">suspend</span>.{}</s
a1d20 70 61 6e 3e 0a 3c 73 70 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
a1d40 6e 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 6c 69 n.class="tok-comment">//.This.li
a1d60 6e 65 20 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 ne.is.never.reached.because.the.
a1d80 73 75 73 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 suspend.has.no.matching.resume.<
a1da0 2f 73 70 61 6e 3e 3c 2f 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"
a1dc0 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 >....x.+=.<span.class="tok-numbe
a1de0 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=
a1e00 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
a1e20 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="
a1e40 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
a1e60 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
a1e80 64 3e 7a 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 d>zig.test.suspend_no_resume.zig
a1ea0 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"
a1ec0 3e 31 2f 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 >1/1.test.&quot;suspend.with.no.
a1ee0 72 65 73 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 resume&quot;....OK</span>.<span.
a1f00 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.
a1f20 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>..
a1f40 20 20 20 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 .....<p>.......In.the.same.way.t
a1f60 68 61 74 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 hat.each.allocation.should.have.
a1f80 61 20 63 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 a.corresponding.free,.......Each
a1fa0 20 3c 63 6f 64 65 3e 3c 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.
a1fc0 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
a1fe0 70 61 6e 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 pan></code>.should.have.a.corres
a2000 70 6f 6e 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 ponding.<code><span.class="line"
a2020 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 70 ><span.class="tok-kw">resume</sp
a2040 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 41 20 3c 73 74 72 6f an></span></code>........A.<stro
a2060 6e 67 3e 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 ng>suspend.block</strong>.allows
a2080 20 61 20 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 .a.function.to.put.a.pointer.to.
a20a0 69 74 73 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 its.own.......frame.somewhere,.f
a20c0 6f 72 20 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 or.example.into.an.event.loop,.e
a20e0 76 65 6e 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 ven.if.that.action.will.perform.
a2100 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 6e 65 22 a.......<code><span.class="line"
a2120 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 70 ><span.class="tok-kw">resume</sp
a2140 61 6e 3e 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 an></span></code>.operation.on.a
a2160 20 64 69 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 .different.thread........<a.href
a2180 3d 22 23 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 ="#frame">@frame</a>.provides.ac
a21a0 63 65 73 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 cess.to.the.async.function.frame
a21c0 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 3c 66 69 67 75 .pointer........</p>.......<figu
a21e0 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"><
a2200 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 75 73 70 65 6e 64 5f cite.class="file">async_suspend_
a2220 62 6c 6f 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 block.zig</cite></figcaption><pr
a2240 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
a2260 20 63 6c 61 73 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
a2280 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
a22a0 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
a22c0 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
a22e0 3e 0a 3c 73 70 61 6e 20 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
a2300 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.=.
a2320 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
a2340 20 63 6c 61 73 73 3d 22 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
a2360 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 s="line"><span.class="tok-kw">va
a2380 72 3c 2f 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 r</span>.the_frame:.<span.class=
a23a0 22 74 6f 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 "tok-kw">anyframe</span>.=.<span
a23c0 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
a23e0 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
a2400 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 pan.class="tok-kw">var</span>.re
a2420 73 75 6c 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 sult.=.<span.class="tok-null">fa
a2440 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 3d 22 lse</span>;</span>.<span.class="
a2460 6c 69 6e 65 22 3e 3c 2f 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"
a2480 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
a24a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 >.<span.class="tok-str">&quot;as
a24c0 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 6b 26 ync.function.suspend.with.block&
a24e0 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
a2500 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 3d 22 74 6f s="line">...._.=.<span.class="to
a2520 6b 2d 6b 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 k-kw">async</span>.testSuspendBl
a2540 6f 63 6b 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 ock();</span>.<span.class="line"
a2560 3e 20 20 20 20 3c 73 70 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
a2580 70 61 6e 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 pan>.expect(!result);</span>.<sp
a25a0 61 6e 20 63 6c 61 73 73 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=
a25c0 22 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 "tok-kw">resume</span>.the_frame
a25e0 3b 3c 2f 73 70 61 6e 3e 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">....
a2600 3c 73 70 61 6e 20 63 6c 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>.
a2620 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
a2640 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="
a2660 6c 69 6e 65 22 3e 3c 2f 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"
a2680 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>.
a26a0 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 53 75 73 70 65 6e 64 <span.class="tok-fn">testSuspend
a26c0 42 6c 6f 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 Block</span>().<span.class="tok-
a26e0 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
a2700 20 63 6c 61 73 73 3d 22 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
a2720 6f 6b 2d 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 ok-kw">suspend</span>.{</span>.<
a2740 73 70 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.
a2760 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 3c class="tok-kw">comptime</span>.<
a2780 73 70 61 6e 20 63 6c 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
a27a0 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">
a27c0 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @TypeOf</span>(<span.class="tok-
a27e0 62 75 69 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 builtin">@frame</span>()).==.*<s
a2800 70 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 pan.class="tok-builtin">@Frame</
a2820 73 70 61 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 span>(testSuspendBlock));</span>
a2840 0a 3c 73 70 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 .<span.class="line">........the_
a2860 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 6e frame.=.<span.class="tok-builtin
a2880 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 20 ">@frame</span>();</span>.<span.
a28a0 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.
a28c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 class="line">....result.=.<span.
a28e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 class="tok-null">true</span>;</s
a2900 70 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>
a2920 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
a2940 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
a2960 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
a2980 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 73 79 6e lass="line">$.<kbd>zig.test.asyn
a29a0 63 5f 73 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 c_suspend_block.zig</kbd></span>
a29c0 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
a29e0 6f 74 3b 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 ot;async.function.suspend.with.b
a2a00 6c 6f 63 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 lock&quot;....OK</span>.<span.cl
a2a20 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.</
a2a40 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>....
a2a60 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="
a2a80 6c 69 6e 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 line"><span.class="tok-kw">suspe
a2aa0 6e 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 75 73 65 73 20 61 nd</span></span></code>.causes.a
a2ac0 20 66 75 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 .function.to.be.<code><span.clas
a2ae0 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">as
a2b00 79 6e 63 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 ync</span></span></code>........
a2b20 3c 2f 70 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 </p>........<h4.id="Resuming-fro
a2b40 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 m-Suspend-Blocks"><a.href="nav.x
a2b60 68 74 6d 6c 23 74 6f 63 2d 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 html#toc-Resuming-from-Suspend-B
a2b80 6c 6f 63 6b 73 22 3e 52 65 73 75 6d 69 6e 67 20 66 72 6f 6d 20 53 75 73 70 65 6e 64 20 42 6c 6f locks">Resuming.from.Suspend.Blo
a2ba0 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 cks</a>.<a.class="hdr".href="#Re
a2bc0 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 c2 a7 3c 2f suming-from-Suspend-Blocks">..</
a2be0 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 70 6f 6e 20 65 6e a></h4>........<p>.......Upon.en
a2c00 74 65 72 69 6e 67 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 tering.a.<code><span.class="line
a2c20 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 2f "><span.class="tok-kw">suspend</
a2c40 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 6c 6f 63 6b 2c 20 74 68 65 20 61 span></span></code>.block,.the.a
a2c60 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 73 69 64 65 sync.function.is.already.conside
a2c80 72 65 64 0a 20 20 20 20 20 20 73 75 73 70 65 6e 64 65 64 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 red.......suspended,.and.can.be.
a2ca0 72 65 73 75 6d 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 73 74 61 resumed..For.example,.if.you.sta
a2cc0 72 74 65 64 20 61 6e 6f 74 68 65 72 20 6b 65 72 6e 65 6c 20 74 68 72 65 61 64 2c 0a 20 20 20 20 rted.another.kernel.thread,.....
a2ce0 20 20 61 6e 64 20 68 61 64 20 74 68 61 74 20 74 68 72 65 61 64 20 63 61 6c 6c 20 3c 63 6f 64 65 ..and.had.that.thread.call.<code
a2d00 3e 3c 73 70 61 6e 20 63 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=
a2d20 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">resume</span></span></c
a2d40 6f 64 65 3e 20 6f 6e 20 74 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 20 70 72 6f 76 69 64 ode>.on.the.frame.pointer.provid
a2d60 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 22 ed.by.the.......<a.href="#frame"
a2d80 3e 40 66 72 61 6d 65 3c 2f 61 3e 2c 20 74 68 65 20 6e 65 77 20 74 68 72 65 61 64 20 77 6f 75 6c >@frame</a>,.the.new.thread.woul
a2da0 64 20 62 65 67 69 6e 20 65 78 65 63 75 74 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 73 75 73 70 d.begin.executing.after.the.susp
a2dc0 65 6e 64 0a 20 20 20 20 20 20 62 6c 6f 63 6b 2c 20 77 68 69 6c 65 20 74 68 65 20 6f 6c 64 20 74 end.......block,.while.the.old.t
a2de0 68 72 65 61 64 20 63 6f 6e 74 69 6e 75 65 64 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 73 75 hread.continued.executing.the.su
a2e00 73 70 65 6e 64 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 spend.block........</p>.......<p
a2e20 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 >.......However,.the.async.funct
a2e40 69 6f 6e 20 63 61 6e 20 62 65 20 64 69 72 65 63 74 6c 79 20 72 65 73 75 6d 65 64 20 66 72 6f 6d ion.can.be.directly.resumed.from
a2e60 20 74 68 65 20 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 .the.suspend.block,.in.which.cas
a2e80 65 20 69 74 0a 20 20 20 20 20 20 6e 65 76 65 72 20 72 65 74 75 72 6e 73 20 74 6f 20 69 74 73 20 e.it.......never.returns.to.its.
a2ea0 72 65 73 75 6d 65 72 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 73 20 65 78 65 63 75 74 69 6e 67 2e resumer.and.continues.executing.
a2ec0 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
a2ee0 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
a2f00 73 3d 22 66 69 6c 65 22 3e 72 65 73 75 6d 65 5f 66 72 6f 6d 5f 73 75 73 70 65 6e 64 2e 7a 69 67 s="file">resume_from_suspend.zig
a2f20 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><
a2f40 73 70 61 6e 20 63 6c 61 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
a2f60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
a2f80 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
a2fa0 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
a2fc0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
a2fe0 6c 61 73 73 3d 22 6c 69 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"
a3000 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
a3020 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
a3040 69 6e 65 22 3e 3c 2f 73 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">
a3060 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>
a3080 20 3c 73 70 61 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
a30a0 75 6d 65 20 66 72 6f 6d 20 73 75 73 70 65 6e 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c ume.from.suspend&quot;</span>.{<
a30c0 2f 73 70 61 6e 3e 0a 3c 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
a30e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 79 pan.class="tok-kw">var</span>.my
a3100 5f 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 70 65 22 3e _result:.<span.class="tok-type">
a3120 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
a3140 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
a3160 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 3d 22 74 ss="line">...._.=.<span.class="t
a3180 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 74 65 73 74 52 65 73 75 6d 65 46 72 ok-kw">async</span>.testResumeFr
a31a0 6f 6d 53 75 73 70 65 6e 64 28 26 61 6d 70 3b 6d 79 5f 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e omSuspend(&amp;my_result);</span
a31c0 3e 0a 3c 73 70 61 6e 20 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
a31e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 lass="tok-kw">try</span>.std.tes
a3200 74 69 6e 67 2e 65 78 70 65 63 74 28 6d 79 5f 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 ting.expect(my_result.==.<span.c
a3220 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
a3240 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>.
a3260 3c 73 70 61 6e 20 63 6c 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="
a3280 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
a32a0 6f 6b 2d 66 6e 22 3e 74 65 73 74 52 65 73 75 6d 65 46 72 6f 6d 53 75 73 70 65 6e 64 3c 2f 73 70 ok-fn">testResumeFromSuspend</sp
a32c0 61 6e 3e 28 6d 79 5f 72 65 73 75 6c 74 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>(my_result:.*<span.class="tok
a32e0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">i32</span>).<span.class="
a3300 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>.<
a3320 73 70 61 6e 20 63 6c 61 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
a3340 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 2f 73 70 61 s="tok-kw">suspend</span>.{</spa
a3360 6e 3e 0a 3c 73 70 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
a3380 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>
a33a0 20 3c 73 70 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 .<span.class="tok-builtin">@fram
a33c0 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 73 73 3d 22 e</span>();</span>.<span.class="
a33e0 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="
a3400 6c 69 6e 65 22 3e 20 20 20 20 6d 79 5f 72 65 73 75 6c 74 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 line">....my_result.*.+=.<span.c
a3420 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
a3440 6e 3e 0a 3c 73 70 61 6e 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.
a3460 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>.{}
a3480 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....m
a34a0 79 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 y_result.*.+=.<span.class="tok-n
a34c0 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
a34e0 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>
a3500 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
a3520 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
a3540 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">$
a3560 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 72 65 73 75 6d 65 5f 66 72 6f 6d 5f 73 75 73 70 65 .<kbd>zig.test.resume_from_suspe
a3580 6e 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 nd.zig</kbd></span>.<span.class=
a35a0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f "line">1/1.test.&quot;resume.fro
a35c0 6d 20 73 75 73 70 65 6e 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 m.suspend&quot;....OK</span>.<sp
a35e0 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
a3600 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
a3620 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 67 75 61 72 61 6e >.......<p>.......This.is.guaran
a3640 74 65 65 64 20 74 6f 20 74 61 69 6c 20 63 61 6c 6c 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 teed.to.tail.call,.and.therefore
a3660 20 77 69 6c 6c 20 6e 6f 74 20 63 61 75 73 65 20 61 20 6e 65 77 20 73 74 61 63 6b 20 66 72 61 6d .will.not.cause.a.new.stack.fram
a3680 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 e........</p>...................
a36a0 20 20 20 3c 68 33 20 69 64 3d 22 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 3c 61 20 68 ...<h3.id="Async-and-Await"><a.h
a36c0 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 ref="nav.xhtml#toc-Async-and-Awa
a36e0 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 61 69 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 it">Async.and.Await</a>.<a.class
a3700 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e c2 ="hdr".href="#Async-and-Await">.
a3720 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 49 6e 20 74 .</a></h3>........<p>.......In.t
a3740 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 65 76 65 72 79 20 3c 63 6f 64 65 3e 3c 73 70 he.same.way.that.every.<code><sp
a3760 61 6e 20 63 6c 61 73 73 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
a3780 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -kw">suspend</span></span></code
a37a0 3e 20 68 61 73 20 61 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 >.has.a.matching.......<code><sp
a37c0 61 6e 20 63 6c 61 73 73 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
a37e0 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 65 3e -kw">resume</span></span></code>
a3800 2c 20 65 76 65 72 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 ,.every.<code><span.class="line"
a3820 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 61 ><span.class="tok-kw">async</spa
a3840 6e 3e 3c 2f 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 20 n></span></code>.has.a.matching.
a3860 3c 63 6f 64 65 3e 3c 73 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
a3880 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 6e lass="tok-kw">await</span></span
a38a0 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 6e 20 73 74 61 6e 64 61 72 64 20 63 6f 64 65 2e ></code>.......in.standard.code.
a38c0 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
a38e0 76 65 72 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 76 65 20 61 6e 20 3c ver,.it.is.possible.to.have.an.<
a3900 63 6f 64 65 3e 3c 73 70 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
a3920 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 3e ass="tok-kw">async</span></span>
a3940 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 20 0a 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 61 20 6d 61 </code>.call........without.a.ma
a3960 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 6e 65 22 3e tching.<code><span.class="line">
a3980 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
a39a0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 55 70 6f 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e ></span></code>..Upon.completion
a39c0 20 6f 66 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 2c 20 0a 20 20 20 20 20 20 65 .of.the.async.function,........e
a39e0 78 65 63 75 74 69 6f 6e 20 77 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 20 61 74 20 74 68 65 20 6d xecution.would.continue.at.the.m
a3a00 6f 73 74 20 72 65 63 65 6e 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ost.recent.<code><span.class="li
a3a20 6e 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 ne"><span.class="tok-kw">async</
a3a40 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 69 74 65 20 6f 72 20 span></span></code>.callsite.or.
a3a60 3c 63 6f 64 65 3e 3c 73 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
a3a80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-kw">resume</span></spa
a3aa0 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 n></code>.callsite,.......and.th
a3ac0 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 75 6e 63 e.return.value.of.the.async.func
a3ae0 74 69 6f 6e 20 77 6f 75 6c 64 20 62 65 20 6c 6f 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 tion.would.be.lost........</p>..
a3b00 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="
a3b20 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e zig-cap"><cite.class="file">asyn
a3b40 63 5f 61 77 61 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 c_await.zig</cite></figcaption><
a3b60 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
a3b80 61 6e 20 63 6c 61 73 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
a3ba0 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">@
a3bc0 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
a3be0 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
a3c00 61 6e 3e 0a 3c 73 70 61 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
a3c20 73 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.
a3c40 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
a3c60 61 6e 20 63 6c 61 73 73 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
a3c80 61 73 73 3d 22 6c 69 6e 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">
a3ca0 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
a3cc0 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 20 61 77 61 69 74 26 71 75 6f 74 3b 3c 2f 73 ">&quot;async.and.await&quot;</s
a3ce0 70 61 6e 3e 20 7b 3c 2f 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"
a3d00 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">/
a3d20 2f 20 54 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 61 73 79 6e 63 20 61 6e /.The.test.block.is.not.async.an
a3d40 64 20 73 6f 20 63 61 6e 6e 6f 74 20 68 61 76 65 20 61 20 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e d.so.cannot.have.a.suspend</span
a3d60 3e 3c 2f 73 70 61 6e 3e 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">....
a3d80 3c 73 70 61 6e 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 <span.class="tok-comment">//.poi
a3da0 6e 74 20 69 6e 20 69 74 2e 20 42 79 20 75 73 69 6e 67 20 74 68 65 20 6e 6f 73 75 73 70 65 6e 64 nt.in.it..By.using.the.nosuspend
a3dc0 20 6b 65 79 77 6f 72 64 2c 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 61 74 3c 2f 73 70 61 6e 3e .keyword,.we.promise.that</span>
a3de0 3c 2f 73 70 61 6e 3e 0a 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">....<
a3e00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 span.class="tok-comment">//.the.
a3e20 63 6f 64 65 20 69 6e 20 61 6d 61 69 6e 20 77 69 6c 6c 20 66 69 6e 69 73 68 20 65 78 65 63 75 74 code.in.amain.will.finish.execut
a3e40 69 6e 67 20 77 69 74 68 6f 75 74 20 73 75 73 70 65 6e 64 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 ing.without.suspending</span></s
a3e60 70 61 6e 3e 0a 3c 73 70 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
a3e80 6e 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 61 63 6b 20 74 6f n.class="tok-comment">//.back.to
a3ea0 20 74 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .the.test.block.</span></span>.<
a3ec0 73 70 61 6e 20 63 6c 61 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
a3ee0 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 20 61 6d 61 69 s="tok-kw">nosuspend</span>.amai
a3f00 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 22 3e 7d n();</span>.<span.class="line">}
a3f20 3c 2f 73 70 61 6e 3e 0a 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
a3f40 6e 3e 0a 3c 73 70 61 6e 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
a3f60 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
a3f80 3d 22 74 6f 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 ="tok-fn">amain</span>().<span.c
a3fa0 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
a3fc0 70 61 6e 3e 0a 3c 73 70 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
a3fe0 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 72 61 6d n.class="tok-kw">var</span>.fram
a4000 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 63 3c 2f e.=.<span.class="tok-kw">async</
a4020 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 20 63 6c 61 73 73 span>.func();</span>.<span.class
a4040 3d 22 6c 69 6e 65 22 3e 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"
a4060 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
a4080 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
a40a0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e ass="tok-builtin">@TypeOf</span>
a40c0 28 66 72 61 6d 65 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 (frame).==.<span.class="tok-buil
a40e0 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 3b 3c 2f 73 70 61 6e tin">@Frame</span>(func));</span
a4100 3e 0a 3c 73 70 61 6e 20 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
a4120 61 6e 20 63 6c 61 73 73 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=
a4140 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 3c 73 70 61 6e "tok-kw">const</span>.ptr:.<span
a4160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d .class="tok-kw">anyframe</span>-
a4180 26 67 74 3b 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 &gt;<span.class="tok-type">void<
a41a0 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>.=.&amp;frame;</span>.<spa
a41c0 6e 20 63 6c 61 73 73 3d 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="
a41e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 79 5f 70 74 72 3a 20 3c 73 tok-kw">const</span>.any_ptr:.<s
a4200 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 pan.class="tok-kw">anyframe</spa
a4220 6e 3e 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 n>.=.ptr;</span>.<span.class="li
a4240 6e 65 22 3e 3c 2f 73 70 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">.
a4260 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 73 75 6d 65 3c 2f ...<span.class="tok-kw">resume</
a4280 73 70 61 6e 3e 20 61 6e 79 5f 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.any_ptr;</span>.<span.clas
a42a0 73 3d 22 6c 69 6e 65 22 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
a42c0 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">await</span>.ptr;</span>.<span
a42e0 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
a4300 73 73 3d 22 6c 69 6e 65 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
a4320 69 6e 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
a4340 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 63 3c 2f 73 an>.<span.class="tok-fn">func</s
a4360 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>().<span.class="tok-type">vo
a4380 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="
a43a0 6c 69 6e 65 22 3e 20 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
a43c0 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 6e 20 63 6c uspend</span>.{}</span>.<span.cl
a43e0 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>
a4400 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
a4420 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
a4440 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">$
a4460 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 2e 7a 69 67 3c 2f .<kbd>zig.test.async_await.zig</
a4480 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
a44a0 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 20 61 77 61 69 74 26 71 75 /1.test.&quot;async.and.await&qu
a44c0 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
a44e0 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>.<
a4500 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>.
a4520 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
a4540 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 73 e"><span.class="tok-kw">await</s
a4560 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 69 73 20 75 73 pan></span></code>.keyword.is.us
a4580 65 64 20 74 6f 20 63 6f 6f 72 64 69 6e 61 74 65 20 77 69 74 68 20 61 6e 20 61 73 79 6e 63 20 66 ed.to.coordinate.with.an.async.f
a45a0 75 6e 63 74 69 6f 6e 27 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 unction's.......<code><span.clas
a45c0 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">re
a45e0 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d turn</span></span></code>.statem
a4600 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ent........</p>.......<p>.......
a4620 3c 63 6f 64 65 3e 3c 73 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
a4640 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 6e lass="tok-kw">await</span></span
a4660 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 2c 20 61 6e 64 ></code>.is.a.suspend.point,.and
a4680 20 74 61 6b 65 73 20 61 73 20 61 6e 20 6f 70 65 72 61 6e 64 20 61 6e 79 74 68 69 6e 67 20 74 68 .takes.as.an.operand.anything.th
a46a0 61 74 0a 20 20 20 20 20 20 63 6f 65 72 63 65 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 at.......coerces.to.<code><span.
a46c0 63 6c 61 73 73 3d 22 6c 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
a46e0 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 3e 3c 2f ">anyframe</span>-&gt;T</span></
a4700 63 6f 64 65 3e 2e 20 43 61 6c 6c 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 code>..Calling.<code><span.class
a4720 3d 22 6c 69 6e 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
a4740 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 0a 20 20 20 20 it</span></span></code>.on......
a4760 20 20 74 68 65 20 66 72 61 6d 65 20 6f 66 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e ..the.frame.of.an.async.function
a4780 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78 65 63 75 74 69 6f 6e 20 74 6f 20 63 6f 6e 74 69 6e 75 .will.cause.execution.to.continu
a47a0 65 20 61 74 20 74 68 65 20 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 e.at.the........<code><span.clas
a47c0 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">aw
a47e0 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 61 6c 6c 73 69 74 ait</span></span></code>.callsit
a4800 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 6e 20 63 6f 6d 70 6c e.once.the.target.function.compl
a4820 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 3e 0a 20 20 20 20 20 etes........</p>.......<p>......
a4840 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 63 65 70 74 69 6f 6e .There.is.a.common.misconception
a4860 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .that.<code><span.class="line"><
a4880 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 3e span.class="tok-kw">await</span>
a48a0 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 65 20 74 61 72 67 65 </span></code>.resumes.the.targe
a48c0 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 68 65 20 6f 74 68 65 t.function........It.is.the.othe
a48e0 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 20 75 6e 74 69 6c 20 r.way.around:.it.suspends.until.
a4900 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 65 74 65 73 2e 0a 20 the.target.function.completes...
a4920 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 65 20 74 61 72 67 65 .....In.the.event.that.the.targe
a4940 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 6d 70 6c 65 74 65 64 t.function.has.already.completed
a4960 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
a4980 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
a49a0 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 20 73 75 73 70 65 6e an></code>.......does.not.suspen
a49c0 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 20 20 20 20 20 20 72 d;.instead.it.copies.the.......r
a49e0 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 20 74 68 65 20 74 61 eturn.value.directly.from.the.ta
a4a00 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 20 20 20 20 3c 2f 70 rget.function's.frame........</p
a4a20 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
a4a40 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 s="zig-cap"><cite.class="file">a
a4a60 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 63 69 74 65 3e 3c 2f sync_await_sequence.zig</cite></
a4a80 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
a4aa0 73 3d 22 6c 69 6e 65 22 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
a4ac0 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
a4ae0 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.
a4b00 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;<
a4b20 2f 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
a4b40 65 22 3e 3c 73 70 61 6e 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
a4b60 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
a4b80 3b 3c 2f 73 70 61 6e 3e 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
a4ba0 61 6e 3e 0a 3c 73 70 61 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
a4bc0 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 65 5f 66 72 61 6d 65 ss="tok-kw">var</span>.the_frame
a4be0 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 65 3c :.<span.class="tok-kw">anyframe<
a4c00 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">
a4c20 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
a4c40 6c 61 73 73 3d 22 6c 69 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"
a4c60 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 20 3c 73 70 61 6e 20 >var</span>.final_result:.<span.
a4c80 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
a4ca0 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>;
a4cc0 3c 2f 73 70 61 6e 3e 0a 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
a4ce0 6e 3e 0a 3c 73 70 61 6e 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
a4d00 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
a4d20 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 66 75 6e 63 74 69 6f ss="tok-str">&quot;async.functio
a4d40 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 70 61 6e 3e 0a 3c 73 n.await&quot;</span>.{</span>.<s
a4d60 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 6e 20 63 pan.class="line">....seq(<span.c
a4d80 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 29 3b 3c 2f 73 70 61 lass="tok-str">'a'</span>);</spa
a4da0 6e 3e 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
a4dc0 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>.
a4de0 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 3d 22 6c 69 6e amain();</span>.<span.class="lin
a4e00 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"
a4e20 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 6e 20 63 6c 61 73 73 >'f'</span>);</span>.<span.class
a4e40 3d 22 6c 69 6e 65 22 3e 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"
a4e60 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 73 70 61 6e 3e >resume</span>.the_frame;</span>
a4e80 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
a4ea0 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 2f n.class="tok-str">'i'</span>);</
a4ec0 73 70 61 6e 3e 0a 3c 73 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
a4ee0 61 6e 20 63 6c 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
a4f00 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 20 63 6c 61 73 73 3d ect(final_result.==.<span.class=
a4f20 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e "tok-number">1234</span>);</span
a4f40 3e 0a 3c 73 70 61 6e 20 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
a4f60 6c 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(
a4f80 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 std.mem.eql(<span.class="tok-typ
a4fa0 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 69 6e 74 73 2c 20 3c e">u8</span>,.&amp;seq_points,.<
a4fc0 73 70 61 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 63 64 65 span.class="tok-str">&quot;abcde
a4fe0 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 6e 3e 0a 3c 73 70 61 fghi&quot;</span>));</span>.<spa
a5000 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
a5020 61 73 73 3d 22 6c 69 6e 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">
a5040 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 61 fn</span>.<span.class="tok-fn">a
a5060 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
a5080 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.
a50a0 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 73 class="line">....seq(<span.class
a50c0 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 73 70 61 6e 3e 0a 3c ="tok-str">'b'</span>);</span>.<
a50e0 73 70 61 6e 20 63 6c 61 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
a5100 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 3c 73 70 61 6e 20 s="tok-kw">var</span>.f.=.<span.
a5120 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 61 6e 6f 74 class="tok-kw">async</span>.anot
a5140 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 3d 22 6c 69 6e 65 22 her();</span>.<span.class="line"
a5160 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 3e 27 >....seq(<span.class="tok-str">'
a5180 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 63 6c 61 73 73 3d 22 e'</span>);</span>.<span.class="
a51a0 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 3c 73 70 61 6e 20 63 line">....final_result.=.<span.c
a51c0 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 3b 3c 2f 73 lass="tok-kw">await</span>.f;</s
a51e0 70 61 6e 3e 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(
a5200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e <span.class="tok-str">'h'</span>
a5220 29 3b 3c 2f 73 70 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">}</
a5240 73 70 61 6e 3e 0a 3c 73 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
a5260 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
a5280 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 6e 3e 28 29 20 3c 73 ass="tok-fn">another</span>().<s
a52a0 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>.
a52c0 7b 3c 2f 73 70 61 6e 3e 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">....
a52e0 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 63 27 3c 2f 73 seq(<span.class="tok-str">'c'</s
a5300 70 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"
a5320 3e 20 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
a5340 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
a5360 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 61 73 73 3d 22 74 6f ine">........seq(<span.class="to
a5380 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 3e 0a 3c 73 70 61 6e k-str">'d'</span>);</span>.<span
a53a0 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 6d 65 20 .class="line">........the_frame.
a53c0 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 66 72 61 =.<span.class="tok-builtin">@fra
a53e0 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 73 73 3d me</span>();</span>.<span.class=
a5400 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=
a5420 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 2d "line">....seq(<span.class="tok-
a5440 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 3c 73 70 61 6e 20 63 str">'g'</span>);</span>.<span.c
a5460 6c 61 73 73 3d 22 6c 69 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
a5480 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="
a54a0 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>.
a54c0 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
a54e0 6e 20 63 6c 61 73 73 3d 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
a5500 73 73 3d 22 6c 69 6e 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
a5520 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 5d 3c 73 70 61 6e 20 ar</span>.seq_points.=.[_]<span.
a5540 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e class="tok-type">u8</span>{<span
a5560 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 7d 20 2a 2a .class="tok-number">0</span>}.**
a5580 20 3c 73 70 61 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 63 .<span.class="tok-str">&quot;abc
a55a0 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 2f 73 70 61 6e 3e 0a defghi&quot;</span>.len;</span>.
a55c0 3c 73 70 61 6e 20 63 6c 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="
a55e0 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 64 65 78 3a 20 3c 73 tok-kw">var</span>.seq_index:.<s
a5600 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e pan.class="tok-type">usize</span
a5620 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f >.=.<span.class="tok-number">0</
a5640 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"
a5660 3e 3c 2f 73 70 61 6e 3e 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
a5680 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
a56a0 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 3e 28 63 3a 20 3c 73 .class="tok-fn">seq</span>(c:.<s
a56c0 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>).
a56e0 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
a5700 6e 3e 20 7b 3c 2f 73 70 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">.
a5720 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 3d 20 63 3b 3c 2f 73 ...seq_points[seq_index].=.c;</s
a5740 70 61 6e 3e 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 5f pan>.<span.class="line">....seq_
a5760 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 index.+=.<span.class="tok-number
a5780 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="
a57a0 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
a57c0 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
a57e0 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
a5800 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
a5820 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 75 65 6e 63 65 2e 7a >zig.test.async_await_sequence.z
a5840 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
a5860 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 75 6e 63 74 69 6f 6e e">1/1.test.&quot;async.function
a5880 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.
a58a0 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.
a58c0 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>..
a58e0 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 2c 20 3c 63 6f 64 65 .....<p>.......In.general,.<code
a5900 3e 3c 73 70 61 6e 20 63 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=
a5920 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 3c 2f "tok-kw">suspend</span></span></
a5940 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 20 3c 63 6f 64 65 3e code>.is.lower.level.than.<code>
a5960 3c 73 70 61 6e 20 63 6c 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="
a5980 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 6e 3e 3c 2f 63 6f 64 tok-kw">await</span></span></cod
a59a0 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 20 20 63 6f 64 65 20 e>..Most.application.......code.
a59c0 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 20 63 6c 61 73 73 3d will.use.only.<code><span.class=
a59e0 22 6c 69 6e 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 "line"><span.class="tok-kw">asyn
a5a00 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 64 20 3c 63 6f 64 65 c</span></span></code>.and.<code
a5a20 3e 3c 73 70 61 6e 20 63 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=
a5a40 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 6e 3e 3c 2f 63 6f "tok-kw">await</span></span></co
a5a60 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 20 69 6d 70 6c 65 6d de>,.but.event.loop.......implem
a5a80 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 66 20 3c 63 6f 64 65 entations.will.make.use.of.<code
a5aa0 3e 3c 73 70 61 6e 20 63 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=
a5ac0 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 3c 2f "tok-kw">suspend</span></span></
a5ae0 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 2f 70 3e 0a 20 20 20 code>.internally........</p>....
a5b00 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 46 75 6e 63 74 69 6f ...........<h3.id="Async-Functio
a5b20 6e 2d 45 78 61 6d 70 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f n-Example"><a.href="nav.xhtml#to
a5b40 63 2d 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 c-Async-Function-Example">Async.
a5b60 46 75 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 Function.Example</a>.<a.class="h
a5b80 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 2d 45 78 61 6d 70 6c dr".href="#Async-Function-Exampl
a5ba0 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 e">..</a></h3>........<p>.......
a5bc0 50 75 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 Putting.all.of.this.together,.he
a5be0 72 65 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 re.is.an.example.of.typical.....
a5c00 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
a5c20 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 70 .class="tok-kw">async</span></sp
a5c40 61 6e 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 an></code>/<code><span.class="li
a5c60 6e 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</
a5c80 73 70 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 span></span></code>.usage:......
a5ca0 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.
a5cc0 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
a5ce0 65 22 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 e">async.zig</cite></figcaption>
a5d00 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
a5d20 70 61 6e 20 63 6c 61 73 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>.
a5d40 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">
a5d60 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-
a5d80 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
a5da0 70 61 6e 3e 0a 3c 73 70 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
a5dc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 ass="tok-kw">const</span>.Alloca
a5de0 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a tor.=.std.mem.Allocator;</span>.
a5e00 3c 73 70 61 6e 20 63 6c 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
a5e20 20 63 6c 61 73 73 3d 22 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
a5e40 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
a5e60 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
a5e80 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
a5ea0 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
a5ec0 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 61 n.class="line">...._.=.<span.cla
a5ee0 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 61 6d 61 69 6e 57 72 ss="tok-kw">async</span>.amainWr
a5f00 61 70 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 ap();</span>.<span.class="line">
a5f20 3c 2f 73 70 61 6e 3e 0a 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">....<
a5f40 73 70 61 6e 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 span.class="tok-comment">//.Typi
a5f60 63 61 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 cally.we.would.use.an.event.loop
a5f80 20 74 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 .to.manage.resuming.async.functi
a5fa0 6f 6e 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 ons,</span></span>.<span.class="
a5fc0 6c 69 6e 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
a5fe0 6e 74 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 nt">//.but.in.this.example.we.ha
a6000 72 64 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 rd.code.what.the.event.loop.woul
a6020 64 20 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 d.do,</span></span>.<span.class=
a6040 22 6c 69 6e 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
a6060 65 6e 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 ent">//.to.make.things.determini
a6080 73 74 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 stic.</span></span>.<span.class=
a60a0 22 6c 69 6e 65 22 3e 20 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">
a60c0 72 65 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 resume</span>.global_file_frame;
a60e0 3c 2f 73 70 61 6e 3e 0a 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">....<
a6100 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 70 61 6e span.class="tok-kw">resume</span
a6120 3e 20 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 >.global_download_frame;</span>.
a6140 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
a6160 6e 20 63 6c 61 73 73 3d 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
a6180 73 73 3d 22 6c 69 6e 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
a61a0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d n</span>.<span.class="tok-fn">am
a61c0 61 69 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 ainWrap</span>().<span.class="to
a61e0 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
a6200 61 6e 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 an.class="line">....amain().<spa
a6220 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 65 n.class="tok-kw">catch</span>.|e
a6240 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">..
a6260 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 ......std.debug.print(<span.clas
a6280 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 s="tok-str">&quot;{}\n&quot;</sp
a62a0 61 6e 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 an>,..{e});</span>.<span.class="
a62c0 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
a62e0 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 2d 62 w">if</span>.(<span.class="tok-b
a6300 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e uiltin">@errorReturnTrace</span>
a6320 28 29 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 ()).|trace|.{</span>.<span.class
a6340 3d 22 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 ="line">............std.debug.du
a6360 6d 70 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 mpStackTrace(trace.*);</span>.<s
a6380 70 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
a63a0 3e 0a 3c 73 70 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 >.<span.class="line">........std
a63c0 2e 70 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 .process.exit(<span.class="tok-n
a63e0 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
a6400 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.
a6420 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
a6440 73 3d 22 6c 69 6e 65 22 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
a6460 6e 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
a6480 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 3c 2f 73 n>.<span.class="tok-fn">amain</s
a64a0 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
a64c0 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=
a64e0 22 6c 69 6e 65 22 3e 20 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">
a6500 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 const</span>.allocator.=.std.hea
a6520 70 2e 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 p.page_allocator;</span>.<span.c
a6540 6c 61 73 73 3d 22 6c 69 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
a6560 2d 6b 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 -kw">var</span>.download_frame.=
a6580 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
a65a0 6e 3e 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 n>.fetchUrl(allocator,.<span.cla
a65c0 73 73 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 ss="tok-str">&quot;https://examp
a65e0 6c 65 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 le.com/&quot;</span>);</span>.<s
a6600 70 61 6e 20 63 6c 61 73 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
a6620 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 64 6f 77 ="tok-kw">var</span>.awaited_dow
a6640 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 2d 6e nload_frame.=.<span.class="tok-n
a6660 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ull">false</span>;</span>.<span.
a6680 63 6c 61 73 73 3d 22 6c 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
a66a0 6b 2d 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 k-kw">errdefer</span>.<span.clas
a66c0 73 3d 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 s="tok-kw">if</span>.(!awaited_d
a66e0 6f 77 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 ownload_frame).{</span>.<span.cl
a6700 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="
a6720 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 61 73 73 3d 22 tok-kw">if</span>.(<span.class="
a6740 74 6f 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 tok-kw">await</span>.download_fr
a6760 61 6d 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 ame).|r|.allocator.free(r).<span
a6780 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>.|_|.
a67a0 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 20 20 20 {}</span>.<span.class="line">...
a67c0 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f .};</span>.<span.class="line"></
a67e0 73 70 61 6e 3e 0a 3c 73 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
a6800 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 69 6c an.class="tok-kw">var</span>.fil
a6820 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 6b 77 22 3e 61 e_frame.=.<span.class="tok-kw">a
a6840 73 79 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 sync</span>.readFile(allocator,.
a6860 3c 73 70 61 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 <span.class="tok-str">&quot;some
a6880 74 68 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 thing.txt&quot;</span>);</span>.
a68a0 3c 73 70 61 6e 20 63 6c 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
a68c0 73 73 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 ss="tok-kw">var</span>.awaited_f
a68e0 69 6c 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 ile_frame.=.<span.class="tok-nul
a6900 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
a6920 61 73 73 3d 22 6c 69 6e 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-
a6940 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=
a6960 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 66 69 6c "tok-kw">if</span>.(!awaited_fil
a6980 65 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 3d 22 6c e_frame).{</span>.<span.class="l
a69a0 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
a69c0 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 2d 6b 77 ">if</span>.(<span.class="tok-kw
a69e0 22 3e 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 ">await</span>.file_frame).|r|.a
a6a00 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 61 73 73 3d 22 74 6f llocator.free(r).<span.class="to
a6a20 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 2f 73 70 61 6e 3e 0a k-kw">else</span>.|_|.{}</span>.
a6a40 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>
a6a60 0a 3c 73 70 61 6e 20 63 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
a6a80 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 66 69 6c 65 5f n.class="line">....awaited_file_
a6aa0 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 74 frame.=.<span.class="tok-null">t
a6ac0 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="
a6ae0 6c 69 6e 65 22 3e 20 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
a6b00 6f 6e 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 onst</span>.file_text.=.<span.cl
a6b20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ass="tok-kw">try</span>.<span.cl
a6b40 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 69 6c 65 5f 66 ass="tok-kw">await</span>.file_f
a6b60 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">
a6b80 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f ....<span.class="tok-kw">defer</
a6ba0 73 70 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 span>.allocator.free(file_text);
a6bc0 3c 2f 73 70 61 6e 3e 0a 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
a6be0 6e 3e 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 n>.<span.class="line">....awaite
a6c00 64 5f 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 d_download_frame.=.<span.class="
a6c20 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 3e 0a 3c 73 tok-null">true</span>;</span>.<s
a6c40 70 61 6e 20 63 6c 61 73 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
a6c60 3d 22 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 ="tok-kw">const</span>.download_
a6c80 74 65 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 text.=.<span.class="tok-kw">try<
a6ca0 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 77 61 69 /span>.<span.class="tok-kw">awai
a6cc0 74 3c 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 t</span>.download_frame;</span>.
a6ce0 3c 73 70 61 6e 20 63 6c 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
a6d00 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 61 6c 6c 6f 63 61 74 ss="tok-kw">defer</span>.allocat
a6d20 6f 72 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 or.free(download_text);</span>.<
a6d40 73 70 61 6e 20 63 6c 61 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.
a6d60 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 74 class="line">....std.debug.print
a6d80 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 6f 77 (<span.class="tok-str">&quot;dow
a6da0 6e 6c 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 nload_text:.{s}\n&quot;</span>,.
a6dc0 2e 7b 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 .{download_text});</span>.<span.
a6de0 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 74 class="line">....std.debug.print
a6e00 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 66 69 6c (<span.class="tok-str">&quot;fil
a6e20 65 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 66 69 e_text:.{s}\n&quot;</span>,..{fi
a6e40 6c 65 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 le_text});</span>.<span.class="l
a6e60 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"
a6e80 3e 3c 2f 73 70 61 6e 3e 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
a6ea0 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 62 n.class="tok-kw">var</span>.glob
a6ec0 61 6c 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 al_download_frame:.<span.class="
a6ee0 74 6f 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 tok-kw">anyframe</span>.=.<span.
a6f00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e class="tok-null">undefined</span
a6f20 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
a6f40 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
a6f60 6e 20 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 n.class="tok-fn">fetchUrl</span>
a6f80 28 61 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 (allocator:.Allocator,.url:.[]<s
a6fa0 70 61 6e 20 63 6c 61 73 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>.
a6fc0 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>
a6fe0 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 3c 2f ).![]<span.class="tok-type">u8</
a7000 73 70 61 6e 3e 20 7b 3c 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
a7020 22 3e 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 ">...._.=.url;.<span.class="tok-
a7040 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 61 6e 20 65 78 61 6d comment">//.this.is.just.an.exam
a7060 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 20 69 74 21 3c 2f 73 ple,.we.don't.actually.do.it!</s
a7080 70 61 6e 3e 3c 2f 73 70 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">.
a70a0 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
a70c0 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
a70e0 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 75 70 65 28 3c 73 70 w">try</span>.allocator.dupe(<sp
a7100 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>,.<
a7120 73 70 61 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 span.class="tok-str">&quot;this.
a7140 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 6e 74 73 26 71 is.the.downloaded.url.contents&q
a7160 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
a7180 3d 22 6c 69 6e 65 22 3e 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"
a71a0 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 >errdefer</span>.allocator.free(
a71c0 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e result);</span>.<span.class="lin
a71e0 65 22 3e 20 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 e">....<span.class="tok-kw">susp
a7200 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 73 73 3d end</span>.{</span>.<span.class=
a7220 22 6c 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 "line">........global_download_f
a7240 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 6e 22 rame.=.<span.class="tok-builtin"
a7260 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 20 63 >@frame</span>();</span>.<span.c
a7280 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
a72a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 lass="line">....std.debug.print(
a72c0 3c 73 70 61 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 <span.class="tok-str">&quot;fetc
a72e0 68 55 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 hUrl.returning\n&quot;</span>,..
a7300 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">.
a7320 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</
a7340 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
a7360 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
a7380 6e 65 22 3e 3c 2f 73 70 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"><
a73a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 span.class="tok-kw">var</span>.g
a73c0 6c 6f 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 lobal_file_frame:.<span.class="t
a73e0 6f 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 ok-kw">anyframe</span>.=.<span.c
a7400 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e lass="tok-null">undefined</span>
a7420 3b 3c 2f 73 70 61 6e 3e 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
a7440 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
a7460 20 63 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 .class="tok-fn">readFile</span>(
a7480 61 6c 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 allocator:.Allocator,.filename:.
a74a0 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
a74c0 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
a74e0 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e pan>).![]<span.class="tok-type">
a7500 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 22 u8</span>.{</span>.<span.class="
a7520 6c 69 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 line">...._.=.filename;.<span.cl
a7540 61 73 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 ass="tok-comment">//.this.is.jus
a7560 74 20 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 t.an.example,.we.don't.actually.
a7580 64 6f 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 do.it!</span></span>.<span.class
a75a0 3d 22 6c 69 6e 65 22 3e 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"
a75c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.result.=.<span.cla
a75e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 ss="tok-kw">try</span>.allocator
a7600 2e 64 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 .dupe(<span.class="tok-type">u8<
a7620 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
a7640 75 6f 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 uot;this.is.the.file.contents&qu
a7660 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=
a7680 22 6c 69 6e 65 22 3e 20 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">
a76a0 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 errdefer</span>.allocator.free(r
a76c0 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 esult);</span>.<span.class="line
a76e0 22 3e 20 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 ">....<span.class="tok-kw">suspe
a7700 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 73 73 3d 22 nd</span>.{</span>.<span.class="
a7720 6c 69 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 line">........global_file_frame.
a7740 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 66 72 61 =.<span.class="tok-builtin">@fra
a7760 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 73 73 3d me</span>();</span>.<span.class=
a7780 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=
a77a0 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 6e "line">....std.debug.print(<span
a77c0 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 61 64 46 69 6c 65 20 .class="tok-str">&quot;readFile.
a77e0 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 29 3b 3c returning\n&quot;</span>,..{});<
a7800 2f 73 70 61 6e 3e 0a 3c 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
a7820 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>
a7840 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 6c 69 6e .result;</span>.<span.class="lin
a7860 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
a7880 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
a78a0 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
a78c0 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
a78e0 67 20 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 g.build-exe.async.zig</kbd></spa
a7900 6e 3e 0a 3c 73 70 61 6e 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
a7920 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 61 73 79 6e 63 3c pan.class="line">$.<kbd>./async<
a7940 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">
a7960 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 70 61 6e 20 readFile.returning</span>.<span.
a7980 63 6c 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 class="line">fetchUrl.returning<
a79a0 2f 73 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 /span>.<span.class="line">downlo
a79c0 61 64 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 ad_text:.this.is.the.downloaded.
a79e0 75 72 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 url.contents</span>.<span.class=
a7a00 22 6c 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 "line">file_text:.this.is.the.fi
a7a20 6c 65 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 le.contents</span>.</samp></pre>
a7a40 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 77 20 77 65 </figure>.......<p>.......Now.we
a7a60 20 72 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 .remove.the.<code><span.class="l
a7a80 69 6e 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 ine"><span.class="tok-kw">suspen
a7aa0 64 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 65 d</span></span></code>.and.<code
a7ac0 3e 3c 73 70 61 6e 20 63 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=
a7ae0 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">resume</span></span></c
a7b00 6f 64 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 ode>.code,.and.......observe.the
a7b20 20 73 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 .same.behavior,.with.one.tiny.di
a7b40 66 66 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 fference:.......</p>.......<figu
a7b60 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"><
a7b80 63 69 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 cite.class="file">blocking.zig</
a7ba0 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
a7bc0 61 6e 20 63 6c 61 73 73 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
a7be0 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
a7c00 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>
a7c20 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
a7c40 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
a7c60 73 73 3d 22 6c 69 6e 65 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
a7c80 6f 6e 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 onst</span>.Allocator.=.std.mem.
a7ca0 41 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 73 3d 22 6c Allocator;</span>.<span.class="l
a7cc0 69 6e 65 22 3e 3c 2f 73 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">
a7ce0 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>.
a7d00 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>.<
a7d20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">main</span>(
a7d40 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
a7d60 70 61 6e 3e 20 7b 3c 2f 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"
a7d80 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 77 22 3e 61 73 >...._.=.<span.class="tok-kw">as
a7da0 79 6e 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 ync</span>.amainWrap();</span>.<
a7dc0 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
a7de0 20 63 6c 61 73 73 3d 22 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
a7e00 73 3d 22 6c 69 6e 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
a7e20 3c 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 </span>.<span.class="tok-fn">ama
a7e40 69 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 inWrap</span>().<span.class="tok
a7e60 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
a7e80 6e 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 n.class="line">....amain().<span
a7ea0 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 65 7c .class="tok-kw">catch</span>.|e|
a7ec0 20 7b 3c 2f 73 70 61 6e 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">...
a7ee0 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 .....std.debug.print(<span.class
a7f00 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ="tok-str">&quot;{}\n&quot;</spa
a7f20 6e 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 n>,..{e});</span>.<span.class="l
a7f40 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
a7f60 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 2d 62 75 ">if</span>.(<span.class="tok-bu
a7f80 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 iltin">@errorReturnTrace</span>(
a7fa0 29 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 )).|trace|.{</span>.<span.class=
a7fc0 22 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 "line">............std.debug.dum
a7fe0 70 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 pStackTrace(trace.*);</span>.<sp
a8000 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e an.class="line">........}</span>
a8020 0a 3c 73 70 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 .<span.class="line">........std.
a8040 70 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 process.exit(<span.class="tok-nu
a8060 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
a8080 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
a80a0 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
a80c0 3d 22 6c 69 6e 65 22 3e 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
a80e0 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
a8100 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 3c 2f 73 70 >.<span.class="tok-fn">amain</sp
a8120 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
a8140 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="
a8160 6c 69 6e 65 22 3e 20 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
a8180 6f 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 onst</span>.allocator.=.std.heap
a81a0 2e 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 .page_allocator;</span>.<span.cl
a81c0 61 73 73 3d 22 6c 69 6e 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-
a81e0 6b 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 kw">var</span>.download_frame.=.
a8200 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 6e <span.class="tok-kw">async</span
a8220 3e 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 >.fetchUrl(allocator,.<span.clas
a8240 73 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 s="tok-str">&quot;https://exampl
a8260 65 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 e.com/&quot;</span>);</span>.<sp
a8280 61 6e 20 63 6c 61 73 73 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=
a82a0 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 64 6f 77 6e "tok-kw">var</span>.awaited_down
a82c0 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 2d 6e 75 load_frame.=.<span.class="tok-nu
a82e0 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ll">false</span>;</span>.<span.c
a8300 6c 61 73 73 3d 22 6c 69 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
a8320 2d 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 -kw">errdefer</span>.<span.class
a8340 3d 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 ="tok-kw">if</span>.(!awaited_do
a8360 77 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 wnload_frame).{</span>.<span.cla
a8380 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
a83a0 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
a83c0 6f 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 ok-kw">await</span>.download_fra
a83e0 6d 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 me).|r|.allocator.free(r).<span.
a8400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b class="tok-kw">else</span>.|_|.{
a8420 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">....
a8440 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 };</span>.<span.class="line"></s
a8460 70 61 6e 3e 0a 3c 73 70 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
a8480 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 69 6c 65 n.class="tok-kw">var</span>.file
a84a0 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 6b 77 22 3e 61 73 _frame.=.<span.class="tok-kw">as
a84c0 79 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 ync</span>.readFile(allocator,.<
a84e0 73 70 61 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 span.class="tok-str">&quot;somet
a8500 68 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 hing.txt&quot;</span>);</span>.<
a8520 73 70 61 6e 20 63 6c 61 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
a8540 73 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 s="tok-kw">var</span>.awaited_fi
a8560 6c 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 le_frame.=.<span.class="tok-null
a8580 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
a85a0 73 73 3d 22 6c 69 6e 65 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
a85c0 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="
a85e0 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 66 69 6c 65 tok-kw">if</span>.(!awaited_file
a8600 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 3d 22 6c 69 _frame).{</span>.<span.class="li
a8620 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"
a8640 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 6b 77 22 >if</span>.(<span.class="tok-kw"
a8660 3e 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 >await</span>.file_frame).|r|.al
a8680 6c 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 locator.free(r).<span.class="tok
a86a0 2d 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 -kw">else</span>.|_|.{}</span>.<
a86c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a span.class="line">....};</span>.
a86e0 3c 73 70 61 6e 20 63 6c 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
a8700 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 66 69 6c 65 5f 66 .class="line">....awaited_file_f
a8720 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 74 72 rame.=.<span.class="tok-null">tr
a8740 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 6c ue</span>;</span>.<span.class="l
a8760 69 6e 65 22 3e 20 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
a8780 6e 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 nst</span>.file_text.=.<span.cla
a87a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ss="tok-kw">try</span>.<span.cla
a87c0 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 69 6c 65 5f 66 72 ss="tok-kw">await</span>.file_fr
a87e0 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 20 ame;</span>.<span.class="line">.
a8800 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 ...<span.class="tok-kw">defer</s
a8820 70 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 pan>.allocator.free(file_text);<
a8840 2f 73 70 61 6e 3e 0a 3c 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
a8860 3e 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 >.<span.class="line">....awaited
a8880 5f 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 _download_frame.=.<span.class="t
a88a0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-null">true</span>;</span>.<sp
a88c0 61 6e 20 63 6c 61 73 73 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=
a88e0 22 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 "tok-kw">const</span>.download_t
a8900 65 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 ext.=.<span.class="tok-kw">try</
a8920 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 77 61 69 74 span>.<span.class="tok-kw">await
a8940 3c 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 </span>.download_frame;</span>.<
a8960 73 70 61 6e 20 63 6c 61 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
a8980 73 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 s="tok-kw">defer</span>.allocato
a89a0 72 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 r.free(download_text);</span>.<s
a89c0 70 61 6e 20 63 6c 61 73 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
a89e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 lass="line">....std.debug.print(
a8a00 3c 73 70 61 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 <span.class="tok-str">&quot;down
a8a20 6c 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 load_text:.{s}\n&quot;</span>,..
a8a40 7b 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 {download_text});</span>.<span.c
a8a60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 lass="line">....std.debug.print(
a8a80 3c 73 70 61 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 <span.class="tok-str">&quot;file
a8aa0 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 66 69 6c _text:.{s}\n&quot;</span>,..{fil
a8ac0 65 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 e_text});</span>.<span.class="li
a8ae0 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">
a8b00 3c 2f 73 70 61 6e 3e 0a 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
a8b20 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.
a8b40 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
a8b60 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
a8b80 6e 20 63 6c 61 73 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
a8ba0 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>).
a8bc0 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
a8be0 61 6e 3e 20 7b 3c 2f 73 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">
a8c00 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
a8c20 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
a8c40 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
a8c60 6e 3e 3c 2f 73 70 61 6e 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">...
a8c80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
a8ca0 6e 3e 20 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"
a8cc0 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
a8ce0 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
a8d00 61 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
a8d20 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
a8d40 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="
a8d60 6c 69 6e 65 22 3e 20 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
a8d80 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
a8da0 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"
a8dc0 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
a8de0 3d 22 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 ="tok-str">&quot;fetchUrl.return
a8e00 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 70 61 6e 3e ing\n&quot;</span>,..{});</span>
a8e20 0a 3c 73 70 61 6e 20 63 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
a8e40 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
a8e60 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">}</
a8e80 73 70 61 6e 3e 0a 3c 73 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>
a8ea0 0a 3c 73 70 61 6e 20 63 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=
a8ec0 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="
a8ee0 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 6c 6f 63 61 74 6f tok-fn">readFile</span>(allocato
a8f00 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 3c 73 70 61 6e 20 r:.Allocator,.filename:.[]<span.
a8f20 63 6c 61 73 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
a8f40 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>).![
a8f60 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
a8f80 3e 20 7b 3c 2f 73 70 61 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">..
a8fa0 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 73 3d 22 74 6f 6b .._.=.filename;.<span.class="tok
a8fc0 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 61 6e 20 65 78 61 -comment">//.this.is.just.an.exa
a8fe0 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 20 69 74 21 3c 2f mple,.we.don't.actually.do.it!</
a9000 73 70 61 6e 3e 3c 2f 73 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">
a9020 20 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</
a9040 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.result.=.<span.class="tok-
a9060 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 75 70 65 28 3c 73 kw">try</span>.allocator.dupe(<s
a9080 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>,.
a90a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 <span.class="tok-str">&quot;this
a90c0 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 3b 3c 2f 73 70 61 .is.the.file.contents&quot;</spa
a90e0 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">.
a9100 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 ...<span.class="tok-kw">errdefer
a9120 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 6c 74 29 3b 3c </span>.allocator.free(result);<
a9140 2f 73 70 61 6e 3e 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
a9160 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
a9180 74 72 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 tr">&quot;readFile.returning\n&q
a91a0 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.
a91c0 63 6c 61 73 73 3d 22 6c 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
a91e0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 k-kw">return</span>.result;</spa
a9200 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></
a9220 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
a9240 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<
a9260 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
a9280 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 62 ss="line">$.<kbd>zig.build-exe.b
a92a0 6c 6f 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 locking.zig</kbd></span>.<span.c
a92c0 6c 61 73 73 3d 22 6c 69 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=
a92e0 22 6c 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 "line">$.<kbd>./blocking</kbd></
a9300 73 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 65 74 63 68 55 72 span>.<span.class="line">fetchUr
a9320 6c 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 61 73 73 3d 22 l.returning</span>.<span.class="
a9340 6c 69 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 line">readFile.returning</span>.
a9360 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 5f 74 65 78 74 <span.class="line">download_text
a9380 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 6c 20 63 6f 6e :.this.is.the.downloaded.url.con
a93a0 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 69 6e 65 22 3e tents</span>.<span.class="line">
a93c0 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 20 63 6f 6e 74 file_text:.this.is.the.file.cont
a93e0 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 66 69 67 75 72 ents</span>.</samp></pre></figur
a9400 65 3e 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 e>.......<p>.......Previously,.t
a9420 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 66 65 74 63 he.<code><span.class="line">fetc
a9440 68 55 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 hUrl</span></code>.and.<code><sp
a9460 61 6e 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 an.class="line">readFile</span><
a9480 2f 63 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 /code>.functions.suspended,.....
a94a0 20 20 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 ..and.were.resumed.in.an.order.d
a94c0 65 74 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 etermined.by.the.<code><span.cla
a94e0 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e ss="line">main</span></code>.fun
a9500 63 74 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 ction..Now,.......since.there.ar
a9520 65 20 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 e.no.suspend.points,.the.order.o
a9540 66 20 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 f.the.printed."....returning".me
a9560 73 73 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 ssages.......is.determined.by.th
a9580 65 20 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 e.order.of.<code><span.class="li
a95a0 6e 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 ne"><span.class="tok-kw">async</
a95c0 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 69 74 65 73 2e 0a 20 span></span></code>.callsites...
a95e0 20 20 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 .....</p>.......................
a9600 20 3c 68 32 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 .<h2.id="Builtin-Functions"><a.h
a9620 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 ref="nav.xhtml#toc-Builtin-Funct
a9640 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 ions">Builtin.Functions</a>.<a.c
a9660 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 lass="hdr".href="#Builtin-Functi
a9680 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ons">..</a></h2>........<p>.....
a96a0 20 20 42 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 ..Builtin.functions.are.provided
a96c0 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 61 72 65 20 70 72 65 66 69 78 65 .by.the.compiler.and.are.prefixe
a96e0 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 40 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 65 d.with.<code>@</code>........The
a9700 20 3c 63 6f 64 65 3e 3c 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.
a9720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f class="tok-kw">comptime</span></
a9740 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 6e 20 61 20 70 61 72 61 6d 65 span></code>.keyword.on.a.parame
a9760 74 65 72 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 ter.means.that.the.parameter.mus
a9780 74 20 62 65 20 6b 6e 6f 77 6e 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 t.be.known.......at.compile.time
a97a0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 57 69 ........</p>.......<h3.id="addWi
a97c0 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 thOverflow"><a.href="nav.xhtml#t
a97e0 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 oc-addWithOverflow">@addWithOver
a9800 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 flow</a>.<a.class="hdr".href="#a
a9820 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ddWithOverflow">..</a></h3>.....
a9840 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"
a9860 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 64 64 57 ><span.class="tok-builtin">@addW
a9880 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 6c 61 73 73 3d 22 ithOverflow</span>(<span.class="
a98a0 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
a98c0 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 61 .class="tok-type">type</span>,.a
a98e0 3a 20 54 2c 20 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 :.T,.b:.T,.result:.*T).<span.cla
a9900 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>
a9920 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 </code></pre>.......<p>.......Pe
a9940 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rforms.<code><span.class="line">
a9960 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 2b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 result.*.=.a.+.b</span></code>..
a9980 49 66 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 If.overflow.or.underflow.occurs,
a99a0 0a 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 65 64 ...........stores.the.overflowed
a99c0 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 6e 65 .bits.in.<code><span.class="line
a99e0 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 75 72 ">result</span></code>.and.retur
a9a00 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 61 ns.<code><span.class="line"><spa
a9a20 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 2f n.class="tok-null">true</span></
a9a40 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 20 20 span></code>....................
a9a60 49 66 20 6e 6f 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 If.no.overflow.or.underflow.occu
a9a80 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c rs,.returns.<code><span.class="l
a9aa0 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
a9ac0 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 3c 2f e</span></span></code>........</
a9ae0 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 69 67 6e 43 61 73 p>..............<h3.id="alignCas
a9b00 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 61 6c 69 67 6e 43 t"><a.href="nav.xhtml#toc-alignC
a9b20 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 22 68 64 ast">@alignCast</a>.<a.class="hd
a9b40 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 68 33 3e r".href="#alignCast">..</a></h3>
a9b60 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="
a9b80 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">
a9ba0 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 3d 22 74 @alignCast</span>(<span.class="t
a9bc0 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 65 6e 74 ok-kw">comptime</span>.alignment
a9be0 3a 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 2f 73 70 :.<span.class="tok-type">u29</sp
a9c00 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 22 3e 61 an>,.ptr:.<span.class="tok-kw">a
a9c20 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nytype</span>).<span.class="tok-
a9c40 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e kw">anytype</span></span></code>
a9c60 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 3c 73 70 </pre>.......<p>.......<code><sp
a9c80 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
a9ca0 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 69 6e 65 >.can.be.<code><span.class="line
a9cc0 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 61 6e 20 ">*T</span></code>,.<code><span.
a9ce0 63 6c 61 73 73 3d 22 6c 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
a9d00 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 3c 63 6f ">fn</span>()</span></code>,.<co
a9d20 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 61 6e 3e de><span.class="line">?*T</span>
a9d40 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c </code>,.......................<
a9d60 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 6e 20 63 code><span.class="line">?<span.c
a9d80 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 61 6e 3e lass="tok-kw">fn</span>()</span>
a9da0 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 3d 22 6c </code>,.or.<code><span.class="l
a9dc0 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 74 75 72 ine">[]T</span></code>..It.retur
a9de0 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 61 6e 20 ns.the.same.type.as.<code><span.
a9e00 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 0a 20 class="line">ptr</span></code>..
a9e20 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 74 20 61 .....except.with.the.alignment.a
a9e40 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 20 20 20 djusted.to.the.new.value........
a9e60 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 6f 72 72 </p>.......<p>A.<a.href="#Incorr
a9e80 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 72 20 61 ect-Pointer-Alignment">pointer.a
a9ea0 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 61 64 64 lignment.safety.check</a>.is.add
a9ec0 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 65 20 74 ed.......to.the.generated.code.t
a9ee0 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 69 67 6e o.make.sure.the.pointer.is.align
a9f00 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 20 20 20 ed.as.promised.</p>.............
a9f20 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 6e 61 76 2e ..<h3.id="alignOf"><a.href="nav.
a9f40 78 68 74 6d 6c 23 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 xhtml#toc-alignOf">@alignOf</a>.
a9f60 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e c2 <a.class="hdr".href="#alignOf">.
a9f80 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
a9fa0 61 6e 20 63 6c 61 73 73 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
a9fc0 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 -builtin">@alignOf</span>(<span.
a9fe0 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
aa000 3a 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
aa020 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 63 6f 6d pan>).<span.class="tok-type">com
aa040 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 3c 2f ptime_int</span></span></code></
aa060 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
aa080 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 on.returns.the.number.of.bytes.t
aa0a0 68 61 74 20 74 68 69 73 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 20 61 6c 69 67 6e 65 64 20 hat.this.type.should.be.aligned.
aa0c0 74 6f 0a 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 20 to.......for.the.current.target.
aa0e0 74 6f 20 6d 61 74 63 68 20 74 68 65 20 43 20 41 42 49 2e 20 57 68 65 6e 20 74 68 65 20 63 68 69 to.match.the.C.ABI..When.the.chi
aa100 6c 64 20 74 79 70 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 73 0a 20 20 20 20 20 20 74 ld.type.of.a.pointer.has.......t
aa120 68 69 73 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e his.alignment,.the.alignment.can
aa140 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 .be.omitted.from.the.type.......
aa160 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .</p>.......<pre><code><span.cla
aa180 73 73 3d 22 6c 69 6e 65 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
aa1a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.expect.=.<span.class
aa1c0 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
aa1e0 70 61 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
aa200 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 3e ot;</span>).debug.assert;</span>
aa220 0a 3c 73 70 61 6e 20 63 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=
aa240 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
aa260 3e 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(
aa280 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 *<span.class="tok-type">u32</spa
aa2a0 6e 3e 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 n>.==.*<span.class="tok-kw">alig
aa2c0 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n</span>(<span.class="tok-builti
aa2e0 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@alignOf</span>(<span.class="
aa300 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 tok-type">u32</span>)).<span.cla
aa320 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-type">u32</span>);</span
aa340 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
aa360 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 65 20 72 ode></pre>.......<p>.......The.r
aa380 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 esult.is.a.target-specific.compi
aa3a0 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 le.time.constant..It.is.guarante
aa3c0 65 64 20 74 6f 20 62 65 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 ed.to.be.......less.than.or.equa
aa3e0 6c 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 l.to.<a.href="#sizeOf">@sizeOf(T
aa400 29 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 )</a>........</p>.......<p>See.a
aa420 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 6c 69 67 6e lso:</p><ul>.<li><a.href="#Align
aa440 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a ment">Alignment</a></li>.</ul>..
aa460 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 ..............<h3.id="as"><a.hre
aa480 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 61 73 22 3e 40 61 73 3c 2f 61 3e 20 3c 61 20 f="nav.xhtml#toc-as">@as</a>.<a.
aa4a0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 class="hdr".href="#as">..</a></h
aa4c0 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
aa4e0 3d 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
aa500 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 6b 77 ">@as</span>(<span.class="tok-kw
aa520 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
aa540 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 65 78 70 72 65 73 73 ="tok-type">type</span>,.express
aa560 69 6f 6e 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 ion).T</span></code></pre>......
aa580 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 .<p>.......Performs.<a.href="#Ty
aa5a0 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 2e 20 pe-Coercion">Type.Coercion</a>..
aa5c0 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f This.cast.is.allowed.when.the.co
aa5e0 6e 76 65 72 73 69 6f 6e 20 69 73 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 61 6e 64 20 73 61 66 65 nversion.is.unambiguous.and.safe
aa600 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 77 61 79 ,.......and.is.the.preferred.way
aa620 20 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 74 79 70 65 73 2c 20 77 68 65 6e 65 .to.convert.between.types,.whene
aa640 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a ver.possible........</p>........
aa660 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 73 79 6e 63 43 61 6c 6c 22 3e 3c 61 20 68 72 65 .......<h3.id="asyncCall"><a.hre
aa680 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 61 73 79 6e 63 43 61 6c 6c 22 3e 40 61 73 79 f="nav.xhtml#toc-asyncCall">@asy
aa6a0 6e 63 43 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ncCall</a>.<a.class="hdr".href="
aa6c0 23 61 73 79 6e 63 43 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 #asyncCall">..</a></h3>........<
aa6e0 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
aa700 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 79 6e 63 43 61 6c an.class="tok-builtin">@asyncCal
aa720 6c 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 5f 62 75 66 66 65 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 l</span>(frame_buffer:.[]<span.c
aa740 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e lass="tok-kw">align</span>(<span
aa760 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 73 .class="tok-builtin">@alignOf</s
aa780 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 40 pan>(<span.class="tok-builtin">@
aa7a0 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 61 6e 79 41 73 79 6e 63 46 75 6e 63 74 69 6f 6e 29 29 29 Frame</span>(anyAsyncFunction)))
aa7c0 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
aa7e0 3e 2c 20 72 65 73 75 6c 74 5f 70 74 72 2c 20 66 75 6e 63 74 69 6f 6e 5f 70 74 72 2c 20 61 72 67 >,.result_ptr,.function_ptr,.arg
aa800 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c s:.<span.class="tok-kw">anytype<
aa820 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 /span>).<span.class="tok-kw">any
aa840 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e frame</span>-&gt;T</span></code>
aa860 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 3c 73 70 </pre>.......<p>.......<code><sp
aa880 61 6e 20 63 6c 61 73 73 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
aa8a0 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 3c 2f 73 70 61 -builtin">@asyncCall</span></spa
aa8c0 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 n></code>.performs.an.<code><spa
aa8e0 6e 20 63 6c 61 73 73 3d 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-
aa900 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 kw">async</span></span></code>.c
aa920 61 6c 6c 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 all.on.a.function.pointer,......
aa940 20 77 68 69 63 68 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 62 65 20 61 6e 20 3c 61 20 68 .which.may.or.may.not.be.an.<a.h
aa960 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e ref="#Async-Functions">async.fun
aa980 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ction</a>........</p>.......<p>.
aa9a0 20 20 20 20 20 20 54 68 65 20 70 72 6f 76 69 64 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ......The.provided.<code><span.c
aa9c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 72 61 6d 65 5f 62 75 66 66 65 72 3c 2f 73 70 61 6e 3e 3c lass="line">frame_buffer</span><
aa9e0 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 20 74 6f 20 66 /code>.must.be.large.enough.to.f
aaa00 69 74 20 74 68 65 20 65 6e 74 69 72 65 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 2e 0a 20 20 it.the.entire.function.frame....
aaa20 20 20 20 20 54 68 69 73 20 73 69 7a 65 20 63 61 6e 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 20 ....This.size.can.be.determined.
aaa40 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 with.<a.href="#frameSize">@frame
aaa60 53 69 7a 65 3c 2f 61 3e 2e 20 54 6f 20 70 72 6f 76 69 64 65 20 61 20 74 6f 6f 2d 73 6d 61 6c 6c Size</a>..To.provide.a.too-small
aaa80 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 .buffer.......invokes.safety-che
aaaa0 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
aaac0 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 r">Undefined.Behavior</a>.......
aaae0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 .</p>.......<p>.......<code><spa
aab00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 5f 70 74 72 3c 2f 73 70 61 6e 3e n.class="line">result_ptr</span>
aab20 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 70 74 69 6f 6e 61 6c 20 28 3c 61 20 68 72 65 66 3d 22 23 6e </code>.is.optional.(<a.href="#n
aab40 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 6d 61 79 20 62 65 20 70 72 6f 76 69 64 65 64 29 2e 20 ull">null</a>.may.be.provided)..
aab60 49 66 20 70 72 6f 76 69 64 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 If.provided,.......the.function.
aab80 63 61 6c 6c 20 77 69 6c 6c 20 77 72 69 74 65 20 69 74 73 20 72 65 73 75 6c 74 20 64 69 72 65 63 call.will.write.its.result.direc
aaba0 74 6c 79 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 tly.to.the.result.pointer,.which
aabc0 20 77 69 6c 6c 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 72 65 61 64 .will.be.available.to.......read
aabe0 20 61 66 74 65 72 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 .after.<a.href="#Async-and-Await
aac00 22 3e 61 77 61 69 74 3c 2f 61 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 20 41 6e 79 20 72 65 73 75 6c ">await</a>.completes..Any.resul
aac20 74 20 6c 6f 63 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f t.location.provided.to.......<co
aac40 64 65 3e 3c 73 70 61 6e 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
aac60 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 6e 3e 3c 2f s="tok-kw">await</span></span></
aac80 63 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 70 79 20 74 68 65 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 code>.will.copy.the.result.from.
aaca0 3c 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 74 5f <code><span.class="line">result_
aacc0 70 74 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 ptr</span></code>........</p>...
aace0 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
aad00 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 ig-cap"><cite.class="file">async
aad20 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 3c 2f 63 69 _struct_field_fn_pointer.zig</ci
aad40 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
aad60 20 63 6c 61 73 73 3d 22 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
aad80 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
aada0 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>(<
aadc0 73 70 61 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
aade0 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
aae00 3d 22 6c 69 6e 65 22 3e 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
aae20 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
aae40 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"
aae60 3e 3c 2f 73 70 61 6e 3e 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
aae80 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
aaea0 61 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 66 an.class="tok-str">&quot;async.f
aaec0 6e 20 70 6f 69 6e 74 65 72 20 69 6e 20 61 20 73 74 72 75 63 74 20 66 69 65 6c 64 26 71 75 6f 74 n.pointer.in.a.struct.field&quot
aaee0 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
aaf00 69 6e 65 22 3e 20 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
aaf20 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r</span>.data:.<span.class="tok-
aaf40 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="
aaf60 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
aaf80 61 6e 20 63 6c 61 73 73 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=
aafa0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 "tok-kw">const</span>.Foo.=.<spa
aafc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-kw">struct</span>.{
aafe0 3c 2f 73 70 61 6e 3e 0a 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">.....
ab000 20 20 20 62 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ...bar:.<span.class="tok-kw">fn<
ab020 2f 73 70 61 6e 3e 20 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 /span>.(*<span.class="tok-type">
ab040 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 6b 77 22 i32</span>).<span.class="tok-kw"
ab060 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 41 73 79 6e 63 29 20 3c 73 70 61 6e 20 63 >callconv</span>(.Async).<span.c
ab080 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 2f 73 70 lass="tok-type">void</span>,</sp
ab0a0 61 6e 3e 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
ab0c0 70 61 6e 3e 0a 3c 73 70 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
ab0e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 n.class="tok-kw">var</span>.foo.
ab100 3d 20 46 6f 6f 7b 20 2e 62 61 72 20 3d 20 66 75 6e 63 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 =.Foo{..bar.=.func.};</span>.<sp
ab120 61 6e 20 63 6c 61 73 73 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=
ab140 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 3a 20 5b 3c 73 70 61 "tok-kw">var</span>.bytes:.[<spa
ab160 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 3e 5d 3c n.class="tok-number">64</span>]<
ab180 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>.
ab1a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e <span.class="tok-kw">align</span
ab1c0 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 69 >(<span.class="tok-builtin">@ali
ab1e0 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 69 gnOf</span>(<span.class="tok-bui
ab200 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 29 20 3d 20 3c 73 ltin">@Frame</span>(func))).=.<s
ab220 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</
ab240 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"
ab260 3e 20 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<
ab280 2f 73 70 61 6e 3e 20 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c /span>.f.=.<span.class="tok-buil
ab2a0 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 79 74 65 tin">@asyncCall</span>(&amp;byte
ab2c0 73 2c 20 7b 7d 2c 20 66 6f 6f 2e 62 61 72 2c 20 2e 7b 26 61 6d 70 3b 64 61 74 61 7d 29 3b 3c 2f s,.{},.foo.bar,..{&amp;data});</
ab2e0 73 70 61 6e 3e 0a 3c 73 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
ab300 61 6e 20 63 6c 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
ab320 65 63 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ect(data.==.<span.class="tok-num
ab340 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">2</span>);</span>.<span.cla
ab360 73 73 3d 22 6c 69 6e 65 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
ab380 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e w">resume</span>.f;</span>.<span
ab3a0 20 63 6c 61 73 73 3d 22 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
ab3c0 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 61 74 61 20 3d 3d ok-kw">try</span>.expect(data.==
ab3e0 20 3c 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
ab400 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">}
ab420 3c 2f 73 70 61 6e 3e 0a 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
ab440 6e 3e 0a 3c 73 70 61 6e 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
ab460 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
ab480 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 79 3a 20 2a 3c 73 70 61 6e 20 ="tok-fn">func</span>(y:.*<span.
ab4a0 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
ab4c0 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>.
ab4e0 7b 3c 2f 73 70 61 6e 3e 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">....
ab500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e <span.class="tok-kw">defer</span
ab520 3e 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 >.y.*.+=.<span.class="tok-number
ab540 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">2</span>;</span>.<span.class="
ab560 6c 69 6e 65 22 3e 20 20 20 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f line">....y.*.+=.<span.class="to
ab580 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
ab5a0 20 63 6c 61 73 73 3d 22 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
ab5c0 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 0a ok-kw">suspend</span>.{}</span>.
ab5e0 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
ab600 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
ab620 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
ab640 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=
ab660 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 74 72 "line">$.<kbd>zig.test.async_str
ab680 75 63 74 5f 66 69 65 6c 64 5f 66 6e 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f uct_field_fn_pointer.zig</kbd></
ab6a0 73 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
ab6c0 74 20 26 71 75 6f 74 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 t.&quot;async.fn.pointer.in.a.st
ab6e0 72 75 63 74 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 ruct.field&quot;....OK</span>.<s
ab700 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
ab720 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
ab740 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 74 6f 6d 69 63 4c e>...............<h3.id="atomicL
ab760 6f 61 64 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 61 74 6f 6d oad"><a.href="nav.xhtml#toc-atom
ab780 69 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 icLoad">@atomicLoad</a>.<a.class
ab7a0 3d 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 ="hdr".href="#atomicLoad">..</a>
ab7c0 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
ab7e0 61 73 73 3d 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
ab800 74 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 tin">@atomicLoad</span>(<span.cl
ab820 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 ass="tok-kw">comptime</span>.T:.
ab840 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
ab860 6e 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 n>,.ptr:.*<span.class="tok-kw">c
ab880 6f 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 onst</span>.T,.<span.class="tok-
ab8a0 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 62 75 kw">comptime</span>.ordering:.bu
ab8c0 69 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 iltin.AtomicOrder).T</span></cod
ab8e0 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 62 75 e></pre>.......<p>.......This.bu
ab900 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 64 65 72 65 66 65 iltin.function.atomically.derefe
ab920 72 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 rences.a.pointer.and.returns.the
ab940 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>....
ab960 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 54 3c 2f 73 ...<code><span.class="line">T</s
ab980 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 65 72 2c 20 61 pan></code>.must.be.a.pointer,.a
ab9a0 20 3c 63 6f 64 65 3e 3c 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.
ab9c0 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 73 70 class="tok-type">bool</span></sp
ab9e0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e an></code>,.a.float,.......an.in
aba00 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 teger.or.an.enum........</p>....
aba20 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
aba40 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 63 53 74 6f 72 65 3c ref="#atomicStore">@atomicStore<
aba60 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 52 6d 77 /a></li>.<li><a.href="#atomicRmw
aba80 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 68 72 65 ">@atomicRmw</a></li>.<li><a.hre
abaa0 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 69 3e 3c f="#fence">@fence</a></li>.<li><
abac0 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 67 57 65 a.href="#cmpxchgWeak">@cmpxchgWe
abae0 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 78 63 68 ak</a></li>.<li><a.href="#cmpxch
abb00 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 6c 69 3e gStrong">@cmpxchgStrong</a></li>
abb20 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 61 74 .</ul>................<h3.id="at
abb40 6f 6d 69 63 52 6d 77 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d omicRmw"><a.href="nav.xhtml#toc-
abb60 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 20 3c 61 20 63 6c 61 atomicRmw">@atomicRmw</a>.<a.cla
abb80 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e c2 a7 3c 2f 61 ss="hdr".href="#atomicRmw">..</a
abba0 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
abbc0 6c 61 73 73 3d 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
abbe0 6c 74 69 6e 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c ltin">@atomicRmw</span>(<span.cl
abc00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 ass="tok-kw">comptime</span>.T:.
abc20 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
abc40 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n>,.ptr:.*T,.<span.class="tok-kw
abc60 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 62 75 69 6c 74 69 6e 2e 41 74 ">comptime</span>.op:.builtin.At
abc80 6f 6d 69 63 52 6d 77 4f 70 2c 20 6f 70 65 72 61 6e 64 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 omicRmwOp,.operand:.T,.<span.cla
abca0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 ss="tok-kw">comptime</span>.orde
abcc0 72 69 6e 67 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 ring:.builtin.AtomicOrder).T</sp
abce0 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>......
abd00 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c .This.builtin.function.atomicall
abd20 79 20 6d 6f 64 69 66 69 65 73 20 6d 65 6d 6f 72 79 20 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 y.modifies.memory.and.then.retur
abd40 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 ns.the.previous.value........</p
abd60 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
abd80 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 6d 75 73 74 20 ass="line">T</span></code>.must.
abda0 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 be.a.pointer,.a.<code><span.clas
abdc0 73 3d 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">
abde0 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 2c 20 61 20 66 6c 6f bool</span></span></code>,.a.flo
abe00 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e at,.......an.integer.or.an.enum.
abe20 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 .......</p>.......<p>.......Supp
abe40 6f 72 74 65 64 20 6f 70 65 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 orted.operations:.......</p>....
abe60 20 20 20 3c 75 6c 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 ...<ul>.........<li><code><span.
abe80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 58 63 68 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e class="line">.Xchg</span></code>
abea0 20 2d 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 75 6e 6d 6f 64 69 66 69 65 64 .-.stores.the.operand.unmodified
abec0 2e 20 53 75 70 70 6f 72 74 73 20 65 6e 75 6d 73 2c 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 ..Supports.enums,.integers.and.f
abee0 6c 6f 61 74 73 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 loats.</li>.........<li><code><s
abf00 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 2f 63 6f pan.class="line">.Add</span></co
abf20 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
abf40 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 ent.wraparound.addition.........
abf60 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 46 6c 6f .....Also.supports.<a.href="#Flo
abf80 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 20 3c 6c ats">Floats</a>.</li>.........<l
abfa0 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 53 75 62 3c i><code><span.class="line">.Sub<
abfc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2c 20 74 77 /span></code>.-.for.integers,.tw
abfe0 6f 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 os.complement.wraparound.subtrac
ac000 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 tion..............Also.supports.
ac020 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c <a.href="#Floats">Floats</a>.</l
ac040 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 73 i>.........<li><code><span.class
ac060 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 20 2d 20 62 69 74 ="line">.And</span></code>.-.bit
ac080 77 69 73 65 20 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e wise.and</li>.........<li><code>
ac0a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4e 61 6e 64 3c 2f 73 70 61 6e 3e 3c <span.class="line">.Nand</span><
ac0c0 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 6e 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 /code>.-.bitwise.nand</li>......
ac0e0 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...<li><code><span.class="line">
ac100 2e 4f 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 6f 72 3c 2f .Or</span></code>.-.bitwise.or</
ac120 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
ac140 73 3d 22 6c 69 6e 65 22 3e 2e 58 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 s="line">.Xor</span></code>.-.bi
ac160 74 77 69 73 65 20 78 6f 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 twise.xor</li>.........<li><code
ac180 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 61 78 3c 2f 73 70 61 6e 3e 3c ><span.class="line">.Max</span><
ac1a0 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 /code>.-.stores.the.operand.if.i
ac1c0 74 20 69 73 20 6c 61 72 67 65 72 2e 20 53 75 70 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 t.is.larger..Supports.integers.a
ac1e0 6e 64 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 nd.floats.</li>.........<li><cod
ac200 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e e><span.class="line">.Min</span>
ac220 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 </code>.-.stores.the.operand.if.
ac240 69 74 20 69 73 20 73 6d 61 6c 6c 65 72 2e 20 53 75 70 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 it.is.smaller..Supports.integers
ac260 20 61 6e 64 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 .and.floats.</li>.......</ul>...
ac280 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 ....<p>See.also:</p><ul>.<li><a.
ac2a0 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 63 53 74 6f 72 65 href="#atomicStore">@atomicStore
ac2c0 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 4c 6f </a></li>.<li><a.href="#atomicLo
ac2e0 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 ad">@atomicLoad</a></li>.<li><a.
ac300 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
ac320 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
ac340 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
ac360 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></
ac380 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=
ac3a0 22 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c "atomicStore"><a.href="nav.xhtml
ac3c0 23 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f #toc-atomicStore">@atomicStore</
ac3e0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 a>.<a.class="hdr".href="#atomicS
ac400 74 6f 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 tore">..</a></h3>........<pre><c
ac420 6f 64 65 3e 3c 73 70 61 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
ac440 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 73 ss="tok-builtin">@atomicStore</s
ac460 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
ac480 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
ac4a0 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 76 61 6c 75 65 3a pe">type</span>,.ptr:.*T,.value:
ac4c0 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d .T,.<span.class="tok-kw">comptim
ac4e0 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 e</span>.ordering:.builtin.Atomi
ac500 63 4f 72 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 cOrder).<span.class="tok-type">v
ac520 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 oid</span></span></code></pre>..
ac540 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 .....<p>.......This.builtin.func
ac560 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 73 74 6f 72 65 73 20 61 20 76 61 6c 75 65 2e 0a tion.atomically.stores.a.value..
ac580 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 ......</p>.......<p>.......<code
ac5a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">T</span></co
ac5c0 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 6f 64 65 3e 3c de>.must.be.a.pointer,.a.<code><
ac5e0 73 70 61 6e 20 63 6c 61 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
ac600 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
ac620 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 e>,.a.float,.......an.integer.or
ac640 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 .an.enum........</p>.......<p>Se
ac660 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 e.also:</p><ul>.<li><a.href="#at
ac680 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>.<
ac6a0 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
ac6c0 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"
ac6e0 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
ac700 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 mpxchgWeak">@cmpxchgWeak</a></li
ac720 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 >.<li><a.href="#cmpxchgStrong">@
ac740 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 cmpxchgStrong</a></li>.</ul>....
ac760 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 43 61 73 74 22 3e 3c 61 20 ............<h3.id="bitCast"><a.
ac780 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 62 69 74 43 61 73 74 22 3e 40 62 69 href="nav.xhtml#toc-bitCast">@bi
ac7a0 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 66 3d 22 23 tCast</a>.<a.class="hdr".href="#
ac7c0 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 3c 70 72 65 bitCast">..</a></h3>........<pre
ac7e0 3e 3c 63 6f 64 65 3e 3c 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.
ac800 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 class="tok-builtin">@bitCast</sp
ac820 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
ac840 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 22 e</span>.DestType:.<span.class="
ac860 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 3a 20 3c 73 tok-type">type</span>,.value:.<s
ac880 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
ac8a0 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 65 3e 0a >).DestType</span></code></pre>.
ac8c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 75 65 ......<p>.......Converts.a.value
ac8e0 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 .of.one.type.to.another.type....
ac900 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 65 72 74 73 ....</p>.......<p>.......Asserts
ac920 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .that.<code><span.class="line"><
ac940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 span.class="tok-builtin">@sizeOf
ac960 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e </span>(<span.class="tok-builtin
ac980 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 3c 73 70 61 ">@TypeOf</span>(value)).==.<spa
ac9a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 n.class="tok-builtin">@sizeOf</s
ac9c0 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 2e 0a 20 20 pan>(DestType)</span></code>....
ac9e0 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 65 72 74 73 ....</p>.......<p>.......Asserts
aca00 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .that.<code><span.class="line"><
aca20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e span.class="tok-builtin">@typeIn
aca40 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 74 65 72 3c fo</span>(DestType).!=..Pointer<
aca60 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 61 6e 20 63 /span></code>..Use.<code><span.c
aca80 6c 61 73 73 3d 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
acaa0 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 3c 2f 63 6f ltin">@ptrCast</span></span></co
acac0 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e de>.or.<code><span.class="line">
acae0 3c 73 70 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 6f <span.class="tok-builtin">@intTo
acb00 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 79 6f 75 20 Ptr</span></span></code>.if.you.
acb20 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 3c 70 3e 0a need.this........</p>.......<p>.
acb40 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 74 68 69 6e ......Can.be.used.for.these.thin
acb60 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 20 20 20 20 gs.for.example:.......</p>......
acb80 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 3c 63 6f 64 .<ul>...........<li>Convert.<cod
acba0 65 3e 3c 73 70 61 6e 20 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
acbc0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-type">f32</span></span></c
acbe0 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ode>.to.<code><span.class="line"
acc00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 ><span.class="tok-type">u32</spa
acc20 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 20 20 20 20 n></span></code>.bits</li>......
acc40 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .....<li>Convert.<code><span.cla
acc60 73 73 3d 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"
acc80 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 20 3c 63 6f >i32</span></span></code>.to.<co
acca0 64 65 3e 3c 73 70 61 6e 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
accc0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-type">u32</span></span></
acce0 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 6d 65 6e 74 code>.preserving.twos.complement
acd00 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 20 </li>.......</ul>.......<p>.....
acd20 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 63 6f 64 65 ..Works.at.compile-time.if.<code
acd40 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 70 61 6e 3e ><span.class="line">value</span>
acd60 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 74 69 6d 65 </code>.is.known.at.compile.time
acd80 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 74 63 61 73 ..It's.a.compile.error.to.bitcas
acda0 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 6f 66 20 74 t.a.struct.to.a.scalar.type.of.t
acdc0 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 61 76 65 20 he.same.size.since.structs.have.
acde0 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 20 74 68 65 undefined.layout..However.if.the
ace00 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 72 6b 73 2e .struct.is.packed.then.it.works.
ace20 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
ace40 3d 22 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d ="bitOffsetOf"><a.href="nav.xhtm
ace60 6c 23 74 6f 63 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 l#toc-bitOffsetOf">@bitOffsetOf<
ace80 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 /a>.<a.class="hdr".href="#bitOff
acea0 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c setOf">..</a></h3>........<pre><
acec0 63 6f 64 65 3e 3c 73 70 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
acee0 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 65 74 4f 66 3c 2f ass="tok-builtin">@bitOffsetOf</
acf00 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
acf20 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
acf40 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
acf60 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d ok-kw">comptime</span>.field_nam
acf80 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c e:.[]<span.class="tok-kw">const<
acfa0 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
acfc0 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">
acfe0 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
ad000 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.
ad020 74 68 65 20 62 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 the.bit.offset.of.a.field.relati
ad040 76 65 20 74 6f 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 ve.to.its.containing.struct.....
ad060 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 6e 6f 6e 20 ...</p>.......<p>.......For.non.
ad080 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 <a.href="#packed-struct">packed.
ad0a0 73 74 72 75 63 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 structs</a>,.this.will.always.be
ad0c0 20 64 69 76 69 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 .divisible.by.<code><span.class=
ad0e0 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">
ad100 38 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 46 6f 8</span></span></code>........Fo
ad120 72 20 70 61 63 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 r.packed.structs,.non-byte-align
ad140 65 64 20 66 69 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 ed.fields.will.share.a.byte.offs
ad160 65 74 2c 20 62 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 et,.but.they.will.have.different
ad180 0a 20 20 20 20 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 .......bit.offsets........</p>..
ad1a0 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
ad1c0 20 68 72 65 66 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 .href="#offsetOf">@offsetOf</a><
ad1e0 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
ad200 3d 22 62 6f 6f 6c 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 ="boolToInt"><a.href="nav.xhtml#
ad220 74 6f 63 2d 62 6f 6f 6c 54 6f 49 6e 74 22 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 toc-boolToInt">@boolToInt</a>.<a
ad240 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e c2 .class="hdr".href="#boolToInt">.
ad260 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
ad280 61 6e 20 63 6c 61 73 73 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
ad2a0 2d 62 75 69 6c 74 69 6e 22 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 -builtin">@boolToInt</span>(valu
ad2c0 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f e:.<span.class="tok-type">bool</
ad2e0 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 31 span>).<span.class="tok-type">u1
ad300 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>.....
ad320 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ..<p>.......Converts.<code><span
ad340 20 63 6c 61 73 73 3d 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
ad360 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 74 ull">true</span></span></code>.t
ad380 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 61 6e o.<code><span.class="line"><span
ad3a0 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>(
ad3c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e <span.class="tok-type">u1</span>
ad3e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 ,.<span.class="tok-number">1</sp
ad400 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 an>)</span></code>.and.<code><sp
ad420 61 6e 20 63 6c 61 73 73 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
ad440 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -null">false</span></span></code
ad460 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 >.to...................<code><sp
ad480 61 6e 20 63 6c 61 73 73 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
ad4a0 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 -builtin">@as</span>(<span.class
ad4c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ="tok-type">u1</span>,.<span.cla
ad4e0 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 61 6e 3e ss="tok-number">0</span>)</span>
ad500 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 20 </code>........</p>.......<p>...
ad520 20 20 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d ....If.the.value.is.known.at.com
ad540 70 69 6c 65 2d 74 69 6d 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 pile-time,.the.return.type.is.<c
ad560 6f 64 65 3e 3c 73 70 61 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
ad580 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
ad5a0 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 69 6e 73 74 65 61 ></span></code>...........instea
ad5c0 64 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 3c 73 d.of.<code><span.class="line"><s
ad5e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-type">u1</span></
ad600 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 0a span></code>........</p>........
ad620 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 53 69 7a 65 4f 66 22 3e 3c 61 20 68 72 65 .......<h3.id="bitSizeOf"><a.hre
ad640 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 f="nav.xhtml#toc-bitSizeOf">@bit
ad660 53 69 7a 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 SizeOf</a>.<a.class="hdr".href="
ad680 23 62 69 74 53 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c #bitSizeOf">..</a></h3>........<
ad6a0 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
ad6c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 53 69 7a 65 4f an.class="tok-builtin">@bitSizeO
ad6e0 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f f</span>(<span.class="tok-kw">co
ad700 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mptime</span>.T:.<span.class="to
ad720 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">type</span>).<span.class
ad740 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c ="tok-type">comptime_int</span><
ad760 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>...
ad780 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 ....This.function.returns.the.nu
ad7a0 6d 62 65 72 20 6f 66 20 62 69 74 73 20 69 74 20 74 61 6b 65 73 20 74 6f 20 73 74 6f 72 65 20 3c mber.of.bits.it.takes.to.store.<
ad7c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e code><span.class="line">T</span>
ad7e0 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 20 69 66 20 74 68 65 20 74 79 70 65 0a 20 20 </code>.in.memory.if.the.type...
ad800 20 20 20 20 77 65 72 65 20 61 20 66 69 65 6c 64 20 69 6e 20 61 20 70 61 63 6b 65 64 20 73 74 72 ....were.a.field.in.a.packed.str
ad820 75 63 74 2f 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 uct/union........The.result.is.a
ad840 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f .target-specific.compile.time.co
ad860 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 nstant........</p>.......<p>....
ad880 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 65 73 20 74 68 65 20 73 69 ...This.function.measures.the.si
ad8a0 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 73 20 74 68 61 74 20 61 72 ze.at.runtime..For.types.that.ar
ad8c0 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 75 63 68 20 61 73 e.disallowed.at.runtime,.such.as
ad8e0 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">
ad900 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_
ad920 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f int</span></span></code>.and.<co
ad940 64 65 3e 3c 73 70 61 6e 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
ad960 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-type">type</span></span><
ad980 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 /code>,.the.result.is.<code><spa
ad9a0 6e 20 63 6c 61 73 73 3d 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-
ad9c0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a number">0</span></span></code>..
ad9e0 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
ada00 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a ><ul>.<li><a.href="#sizeOf">@siz
ada20 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 eOf</a></li>.<li><a.href="#typeI
ada40 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 nfo">@typeInfo</a></li>.</ul>...
ada60 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 72 65 61 6b 70 6f 69 6e 74 22 .............<h3.id="breakpoint"
ada80 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 62 72 65 61 6b 70 6f 69 ><a.href="nav.xhtml#toc-breakpoi
adaa0 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
adac0 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
adae0 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=
adb00 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"
adb20 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
adb40 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
adb60 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
adb80 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
adba0 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
adbc0 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>....
adbe0 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
adc00 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>
adc20 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"><
adc40 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6d 75 6c 41 64 64 22 3e 40 6d a.href="nav.xhtml#toc-mulAdd">@m
adc60 75 6c 41 64 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ulAdd</a>.<a.class="hdr".href="#
adc80 6d 75 6c 41 64 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e mulAdd">..</a></h3>........<pre>
adca0 3c 63 6f 64 65 3e 3c 73 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
adcc0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 41 64 64 3c 2f 73 70 61 6e lass="tok-builtin">@mulAdd</span
adce0 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<
add00 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"
add20 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 63 3a 20 54 29 20 >type</span>,.a:.T,.b:.T,.c:.T).
add40 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>.
add60 20 20 20 20 20 20 46 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 20 61 64 64 2c 20 73 69 6d 69 6c 61 ......Fused.multiply.add,.simila
add80 72 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 61 r.to.<code><span.class="line">(a
adda0 20 2a 20 62 29 20 2b 20 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 78 63 65 70 74 0a .*.b).+.c</span></code>,.except.
addc0 20 20 20 20 20 20 6f 6e 6c 79 20 72 6f 75 6e 64 73 20 6f 6e 63 65 2c 20 61 6e 64 20 69 73 20 74 ......only.rounds.once,.and.is.t
adde0 68 75 73 20 6d 6f 72 65 20 61 63 63 75 72 61 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 hus.more.accurate........</p>...
ade00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 46 6c 6f 61 74 73 20 61 6e ....<p>.......Supports.Floats.an
ade20 64 20 56 65 63 74 6f 72 73 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a d.Vectors.of.floats........</p>.
ade40 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 79 74 65 53 77 61 70 22 3e ..............<h3.id="byteSwap">
ade60 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 62 79 74 65 53 77 61 70 22 <a.href="nav.xhtml#toc-byteSwap"
ade80 3e 40 62 79 74 65 53 77 61 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >@byteSwap</a>.<a.class="hdr".hr
adea0 65 66 3d 22 23 62 79 74 65 53 77 61 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ef="#byteSwap">..</a></h3>......
adec0 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">
adee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 79 74 65 53 <span.class="tok-builtin">@byteS
adf00 77 61 70 3c 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 wap</span>(<span.class="tok-kw">
adf20 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 comptime</span>.T:.<span.class="
adf40 74 6f 6b 2d 74 79 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 tok-type">type</span>,.operand:.
adf60 54 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 T).T</span></code></pre>.......<
adf80 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 54 3c 2f 73 70 p><code><span.class="line">T</sp
adfa0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 an></code>.must.be.an.integer.ty
adfc0 70 65 20 77 69 74 68 20 62 69 74 20 63 6f 75 6e 74 20 65 76 65 6e 6c 79 20 64 69 76 69 73 69 62 pe.with.bit.count.evenly.divisib
adfe0 6c 65 20 62 79 20 38 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 le.by.8.</p>.......<p><code><spa
ae000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 n.class="line">operand</span></c
ae020 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 ode>.may.be.an.<a.href="#Integer
ae040 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 s">integer</a>.or.<a.href="#Vect
ae060 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ors">vector</a>.</p>.......<p>..
ae080 20 20 20 20 20 53 77 61 70 73 20 74 68 65 20 62 79 74 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 .....Swaps.the.byte.order.of.the
ae0a0 20 69 6e 74 65 67 65 72 2e 20 54 68 69 73 20 63 6f 6e 76 65 72 74 73 20 61 20 62 69 67 20 65 6e .integer..This.converts.a.big.en
ae0c0 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 dian.integer.to.a.little.endian.
ae0e0 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f 6e 76 65 72 74 73 20 61 20 6c 69 integer,.......and.converts.a.li
ae100 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 62 69 67 20 65 6e 64 ttle.endian.integer.to.a.big.end
ae120 69 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ian.integer........</p>.......<p
ae140 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 >.......Note.that.for.the.purpos
ae160 65 73 20 6f 66 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 77 69 74 68 20 72 65 73 70 65 63 74 es.of.memory.layout.with.respect
ae180 20 74 6f 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 .to.endianness,.the.integer.type
ae1a0 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 .should.be.......related.to.the.
ae1c0 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 70 6f 72 74 65 64 20 62 79 20 3c 61 20 68 number.of.bytes.reported.by.<a.h
ae1e0 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 62 79 74 65 73 2e ref="#sizeOf">@sizeOf</a>.bytes.
ae200 20 54 68 69 73 20 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 .This.is.demonstrated.with......
ae220 20 3c 63 6f 64 65 3e 3c 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.
ae240 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 3c 2f 73 70 61 class="tok-type">u24</span></spa
ae260 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n></code>..<code><span.class="li
ae280 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
ae2a0 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 74 79 izeOf</span>(<span.class="tok-ty
ae2c0 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">u24</span>).==.<span.class="
ae2e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-number">4</span></span></cod
ae300 65 3e 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 61 0a 20 20 20 20 20 20 3c 63 6f e>,.which.means.that.a.......<co
ae320 64 65 3e 3c 73 70 61 6e 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
ae340 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-type">u24</span></span></
ae360 63 6f 64 65 3e 20 73 74 6f 72 65 64 20 69 6e 20 6d 65 6d 6f 72 79 20 74 61 6b 65 73 20 34 20 62 code>.stored.in.memory.takes.4.b
ae380 79 74 65 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 34 20 62 79 74 65 73 20 61 72 65 20 77 68 61 74 ytes,.and.those.4.bytes.are.what
ae3a0 20 61 72 65 20 73 77 61 70 70 65 64 20 6f 6e 0a 20 20 20 20 20 20 61 20 6c 69 74 74 6c 65 20 76 .are.swapped.on.......a.little.v
ae3c0 73 20 62 69 67 20 65 6e 64 69 61 6e 20 73 79 73 74 65 6d 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 s.big.endian.system..On.the.othe
ae3e0 72 20 68 61 6e 64 2c 20 69 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 r.hand,.if.<code><span.class="li
ae400 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 ne">T</span></code>.is.specified
ae420 20 74 6f 0a 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .to.......be.<code><span.class="
ae440 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 32 34 line"><span.class="tok-type">u24
ae460 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 6f 6e 6c 79 </span></span></code>,.then.only
ae480 20 33 20 62 79 74 65 73 20 61 72 65 20 72 65 76 65 72 73 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 .3.bytes.are.reversed........</p
ae4a0 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 52 65 76 65 72 >...............<h3.id="bitRever
ae4c0 73 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 62 69 74 52 65 se"><a.href="nav.xhtml#toc-bitRe
ae4e0 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 6c 61 73 73 3d verse">@bitReverse</a>.<a.class=
ae500 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 3c 2f 61 3e 3c "hdr".href="#bitReverse">..</a><
ae520 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
ae540 73 73 3d 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
ae560 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 6e 20 63 6c 61 in">@bitReverse</span>(<span.cla
ae580 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:.<
ae5a0 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
ae5c0 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 64 65 3e 3c 2f >,.integer:.T).T</span></code></
ae5e0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d pre>.......<p><code><span.class=
ae600 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 70 74 73 20 61 "line">T</span></code>.accepts.a
ae620 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 3c 70 3e 0a 20 ny.integer.type.</p>.......<p>..
ae640 20 20 20 20 20 52 65 76 65 72 73 65 73 20 74 68 65 20 62 69 74 70 61 74 74 65 72 6e 20 6f 66 20 .....Reverses.the.bitpattern.of.
ae660 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 an.integer.value,.including.the.
ae680 73 69 67 6e 20 62 69 74 20 69 66 20 61 70 70 6c 69 63 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f sign.bit.if.applicable........</
ae6a0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 30 p>.......<p>.......For.example.0
ae6c0 62 31 30 31 31 30 31 31 30 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 b10110110.(<code><span.class="li
ae6e0 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 38 3c 2f 73 ne"><span.class="tok-type">u8</s
ae700 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">
ae720 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 63 6f 64 65 3e 182</span></span></code>,.<code>
ae740 3c 73 70 61 6e 20 63 6c 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="
ae760 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 6e 20 63 6c 61 tok-type">i8</span>.=.-<span.cla
ae780 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 73 70 61 6e 3e ss="tok-number">74</span></span>
ae7a0 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 31 30 31 31 30 </code>).......becomes.0b0110110
ae7c0 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 3e 3c 73 70 61 1.(<code><span.class="line"><spa
ae7e0 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>.=.<
ae800 73 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 3c 2f 73 70 61 span.class="tok-number">109</spa
ae820 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c n></span></code>,.<code><span.cl
ae840 61 73 73 3d 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
ae860 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">i8</span>.=.<span.class="tok-n
ae880 75 6d 62 65 72 22 3e 31 30 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 umber">109</span></span></code>)
ae8a0 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
ae8c0 64 3d 22 6f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 d="offsetOf"><a.href="nav.xhtml#
ae8e0 74 6f 63 2d 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 toc-offsetOf">@offsetOf</a>.<a.c
ae900 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f lass="hdr".href="#offsetOf">..</
ae920 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.
ae940 63 6c 61 73 73 3d 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
ae960 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c iltin">@offsetOf</span>(<span.cl
ae980 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 ass="tok-kw">comptime</span>.T:.
ae9a0 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
ae9c0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d n>,.<span.class="tok-kw">comptim
ae9e0 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 e</span>.field_name:.[]<span.cla
aea00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ss="tok-kw">const</span>.<span.c
aea20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e lass="tok-type">u8</span>).<span
aea40 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 2f .class="tok-type">comptime_int</
aea60 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>.......
aea80 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 62 79 74 65 20 6f 66 66 73 65 <p>.......Returns.the.byte.offse
aeaa0 74 20 6f 66 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e t.of.a.field.relative.to.its.con
aeac0 74 61 69 6e 69 6e 67 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 taining.struct........</p>......
aeae0 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
aeb00 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 f="#bitOffsetOf">@bitOffsetOf</a
aeb20 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.
aeb40 69 64 3d 22 63 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 id="call"><a.href="nav.xhtml#toc
aeb60 2d 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 -call">@call</a>.<a.class="hdr".
aeb80 68 72 65 66 3d 22 23 63 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 href="#call">..</a></h3>........
aeba0 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
aebc0 70 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 6c 3c 2f 73 pan.class="tok-builtin">@call</s
aebe0 70 61 6e 3e 28 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4f 70 pan>(options:.std.builtin.CallOp
aec00 74 69 6f 6e 73 2c 20 66 75 6e 63 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f tions,.function:.<span.class="to
aec20 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 k-kw">anytype</span>,.args:.<spa
aec40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-kw">anytype</span>)
aec60 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
aec80 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>.......<
aeca0 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 20 74 68 p>.......Calls.a.function,.in.th
aecc0 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 69 6e 76 6f 6b 69 6e 67 20 61 6e 20 65 78 70 72 e.same.way.that.invoking.an.expr
aece0 65 73 73 69 6f 6e 20 77 69 74 68 20 70 61 72 65 6e 74 68 65 73 65 73 20 64 6f 65 73 3a 0a 20 20 ession.with.parentheses.does:...
aed00 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
aed20 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="
aed40 66 69 6c 65 22 3e 63 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">call.zig</cite></figcaptio
aed60 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">
aed80 3c 73 70 61 6e 20 63 6c 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
aeda0 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c >.expect.=.<span.class="tok-buil
aedc0 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=
aede0 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>
aee00 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ).testing.expect;</span>.<span.c
aee20 6c 61 73 73 3d 22 6c 69 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=
aee40 22 6c 69 6e 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
aee60 3c 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
aee80 75 6f 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 uot;noinline.function.call&quot;
aeea0 3c 2f 73 70 61 6e 3e 20 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
aeec0 6e 65 22 3e 20 20 20 20 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
aeee0 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-
aef00 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 2e 7b 7d 2c 20 61 64 64 2c 20 builtin">@call</span>(.{},.add,.
aef20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 .{<span.class="tok-number">3</sp
aef40 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c an>,.<span.class="tok-number">9<
aef60 2f 73 70 61 6e 3e 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d /span>}).==.<span.class="tok-num
aef80 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 6c ber">12</span>);</span>.<span.cl
aefa0 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=
aefc0 22 6c 69 6e 65 22 3e 3c 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
aefe0 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>
af000 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e .<span.class="tok-fn">add</span>
af020 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f (a:.<span.class="tok-type">i32</
af040 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 span>,.b:.<span.class="tok-type"
af060 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
af080 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 6e 20 63 6c pe">i32</span>.{</span>.<span.cl
af0a0 61 73 73 3d 22 6c 69 6e 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-
af0c0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a kw">return</span>.a.+.b;</span>.
af0e0 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
af100 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
af120 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
af140 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=
af160 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 61 6c 6c 2e 7a 69 67 3c "line">$.<kbd>zig.test.call.zig<
af180 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">
af1a0 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 1/1.test.&quot;noinline.function
af1c0 20 63 61 6c 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 .call&quot;....OK</span>.<span.c
af1e0 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.<
af200 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>...
af220 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....<p>.......<code><span.class=
af240 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"
af260 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f >@call</span></span></code>.allo
af280 77 73 20 6d 6f 72 65 20 66 6c 65 78 69 62 69 6c 69 74 79 20 74 68 61 6e 20 6e 6f 72 6d 61 6c 20 ws.more.flexibility.than.normal.
af2a0 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 20 64 6f 65 73 2e 20 54 68 65 0a 20 function.call.syntax.does..The..
af2c0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 61 .....<code><span.class="line">Ca
af2e0 6c 6c 4f 70 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 69 llOptions</span></code>.struct.i
af300 73 20 72 65 70 72 6f 64 75 63 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 s.reproduced.here:.......</p>...
af320 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
af340 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 74 ig-cap"><cite.class="file">built
af360 69 6e 2e 43 61 6c 6c 4f 70 74 69 6f 6e 73 20 73 74 72 75 63 74 3c 2f 63 69 74 65 3e 3c 2f 66 69 in.CallOptions.struct</cite></fi
af380 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=
af3a0 22 6c 69 6e 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<
af3c0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>.<span.class="tok-kw">cons
af3e0 74 3c 2f 73 70 61 6e 3e 20 43 61 6c 6c 4f 70 74 69 6f 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 t</span>.CallOptions.=.<span.cla
af400 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
af420 6e 3e 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 6f 64 69 66 69 n>.<span.class="line">....modifi
af440 65 72 3a 20 4d 6f 64 69 66 69 65 72 20 3d 20 2e 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 er:.Modifier.=..auto,</span>.<sp
af460 61 6e 20 63 6c 61 73 73 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
af480 61 73 73 3d 22 6c 69 6e 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-
af4a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 4f 6e 6c 79 20 76 61 6c 69 64 20 77 68 65 6e 20 60 4d 6f comment">///.Only.valid.when.`Mo
af4c0 64 69 66 69 65 72 60 20 69 73 20 60 4d 6f 64 69 66 69 65 72 2e 61 73 79 6e 63 5f 6b 77 60 2e 3c difier`.is.`Modifier.async_kw`.<
af4e0 2f 73 70 61 6e 3e 3c 2f 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"
af500 3e 20 20 20 20 73 74 61 63 6b 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >....stack:.?[]<span.class="tok-
af520 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 73 74 64 2e 54 61 72 67 65 74 2e 73 74 61 63 kw">align</span>(std.Target.stac
af540 6b 5f 61 6c 69 67 6e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e k_align).<span.class="tok-type">
af560 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 6c u8</span>.=.<span.class="tok-nul
af580 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
af5a0 73 73 3d 22 6c 69 6e 65 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
af5c0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">pu
af5e0 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
af600 6e 73 74 3c 2f 73 70 61 6e 3e 20 4d 6f 64 69 66 69 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 nst</span>.Modifier.=.<span.clas
af620 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 0a s="tok-kw">enum</span>.{</span>.
af640 3c 73 70 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
af660 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c .class="tok-comment">///.Equival
af680 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 ent.to.function.call.syntax.</sp
af6a0 61 6e 3e 3c 2f 73 70 61 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">..
af6c0 20 20 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ......auto,</span>.<span.class="
af6e0 6c 69 6e 65 22 3e 3c 2f 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"
af700 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
af720 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 73 79 6e 63 20 6b 65 79 77 6f t">///.Equivalent.to.async.keywo
af740 72 64 20 75 73 65 64 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 rd.used.with.function.call.synta
af760 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 x.</span></span>.<span.class="li
af780 6e 65 22 3e 20 20 20 20 20 20 20 20 61 73 79 6e 63 5f 6b 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ne">........async_kw,</span>.<sp
af7a0 61 6e 20 63 6c 61 73 73 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
af7c0 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="
af7e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 50 72 65 76 65 6e 74 73 20 74 61 69 6c 20 63 tok-comment">///.Prevents.tail.c
af800 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 all.optimization..This.guarantee
af820 73 20 74 68 61 74 20 74 68 65 20 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a s.that.the.return</span></span>.
af840 3c 73 70 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
af860 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 61 64 64 72 65 73 73 .class="tok-comment">///.address
af880 20 77 69 6c 6c 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 61 73 20 .will.point.to.the.callsite,.as.
af8a0 6f 70 70 6f 73 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 27 73 3c 2f 73 70 61 6e 3e opposed.to.the.callsite's</span>
af8c0 3c 2f 73 70 61 6e 3e 0a 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">.....
af8e0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f ...<span.class="tok-comment">///
af900 20 63 61 6c 6c 73 69 74 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 69 73 20 6f 74 68 65 72 77 .callsite..If.the.call.is.otherw
af920 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 74 61 69 6c 2d 63 61 6c 6c 65 64 3c 2f ise.required.to.be.tail-called</
af940 73 70 61 6e 3e 3c 2f 73 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">
af960 20 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
af980 22 3e 2f 2f 2f 20 6f 72 20 69 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f ">///.or.inlined,.a.compile.erro
af9a0 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 r.is.emitted.instead.</span></sp
af9c0 61 6e 3e 0a 3c 73 70 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 an>.<span.class="line">........n
af9e0 65 76 65 72 5f 74 61 69 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ever_tail,</span>.<span.class="l
afa00 69 6e 65 22 3e 3c 2f 73 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">
afa20 20 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
afa40 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 ">///.Guarantees.that.the.call.w
afa60 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 ill.not.be.inlined..If.the.call.
afa80 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 is</span></span>.<span.class="li
afaa0 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
afac0 6d 65 6e 74 22 3e 2f 2f 2f 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 ment">///.otherwise.required.to.
afae0 62 65 20 69 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 be.inlined,.a.compile.error.is.e
afb00 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 mitted.instead.</span></span>.<s
afb20 70 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 65 76 65 72 5f 69 pan.class="line">........never_i
afb40 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"
afb60 3e 3c 2f 73 70 61 6e 3e 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">....
afb80 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">//
afba0 2f 20 41 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c /.Asserts.that.the.function.call
afbc0 20 77 69 6c 6c 20 6e 6f 74 20 73 75 73 70 65 6e 64 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 61 .will.not.suspend..This.allows.a
afbe0 3c 2f 73 70 61 6e 3e 3c 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
afc00 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
afc20 6e 74 22 3e 2f 2f 2f 20 6e 6f 6e 2d 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 nt">///.non-async.function.to.ca
afc40 6c 6c 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ll.an.async.function.</span></sp
afc60 61 6e 3e 0a 3c 73 70 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 an>.<span.class="line">........n
afc80 6f 5f 61 73 79 6e 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 o_async,</span>.<span.class="lin
afca0 65 22 3e 3c 2f 73 70 61 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">..
afcc0 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">
afce0 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c ///.Guarantees.that.the.call.wil
afd00 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 77 69 74 68 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 l.be.generated.with.tail.call.op
afd20 74 69 6d 69 7a 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 timization.</span></span>.<span.
afd40 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
afd60 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f ="tok-comment">///.If.this.is.no
afd80 74 20 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 t.possible,.a.compile.error.is.e
afda0 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 mitted.instead.</span></span>.<s
afdc0 70 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 pan.class="line">........always_
afde0 74 61 69 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e tail,</span>.<span.class="line">
afe00 3c 2f 73 70 61 6e 3e 0a 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">.....
afe20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f ...<span.class="tok-comment">///
afe40 20 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 69 .Guarantees.that.the.call.will.i
afe60 6e 6c 69 6e 65 64 20 61 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f nlined.at.the.callsite.</span></
afe80 73 70 61 6e 3e 0a 3c 73 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">.......
afea0 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 49 .<span.class="tok-comment">///.I
afec0 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 20 63 6f 6d 70 69 6c f.this.is.not.possible,.a.compil
afee0 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 e.error.is.emitted.instead.</spa
aff00 6e 3e 3c 2f 73 70 61 6e 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">...
aff20 20 20 20 20 20 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .....always_inline,</span>.<span
aff40 20 63 6c 61 73 73 3d 22 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
aff60 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
aff80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 76 61 6c 75 61 74 65 73 20 74 68 65 20 63 61 6c k-comment">///.Evaluates.the.cal
affa0 6c 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 63 l.at.compile-time..If.the.call.c
affc0 61 6e 6e 6f 74 20 62 65 20 63 6f 6d 70 6c 65 74 65 64 20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 annot.be.completed.at</span></sp
affe0 61 6e 3e 0a 3c 73 70 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">........<
b0000 73 70 61 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 63 6f 6d span.class="tok-comment">///.com
b0020 70 69 6c 65 2d 74 69 6d 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d pile-time,.a.compile.error.is.em
b0040 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
b0060 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f an.class="line">........compile_
b0080 74 69 6d 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e time,</span>.<span.class="line">
b00a0 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....};</span>.<span.class="line"
b00c0 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>
b00e0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 44 65 66 69 6e 65 22 3e ...............<h3.id="cDefine">
b0100 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 44 65 66 69 6e 65 22 3e <a.href="nav.xhtml#toc-cDefine">
b0120 40 63 44 65 66 69 6e 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 @cDefine</a>.<a.class="hdr".href
b0140 3d 22 23 63 44 65 66 69 6e 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ="#cDefine">..</a></h3>........<
b0160 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
b0180 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 3c an.class="tok-builtin">@cDefine<
b01a0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 /span>(<span.class="tok-kw">comp
b01c0 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 63 6c 61 73 73 3d time</span>.name:.[]<span.class=
b01e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3c 2f 73 70 "tok-type">u8</span>,.value)</sp
b0200 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>......
b0220 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e .This.function.can.only.occur.in
b0240 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 side.<code><span.class="line"><s
b0260 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 pan.class="tok-builtin">@cImport
b0280 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
b02a0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c >.......<p>.......This.appends.<
b02c0 63 6f 64 65 3e 23 64 65 66 69 6e 65 20 24 6e 61 6d 65 20 24 76 61 6c 75 65 3c 2f 63 6f 64 65 3e code>#define.$name.$value</code>
b02e0 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .to.the.<code><span.class="line"
b0300 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
b0320 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 ort</span></span></code>.......t
b0340 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 emporary.buffer........</p>.....
b0360 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 64 65 66 69 6e 65 20 77 69 74 68 6f 75 74 20 61 20 ..<p>.......To.define.without.a.
b0380 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>....
b03a0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 23 64 65 66 69 6e 65 20 ...<pre><code.class="c">#define.
b03c0 5f 47 4e 55 5f 53 4f 55 52 43 45 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c _GNU_SOURCE</code></pre>.......<
b03e0 70 3e 0a 20 20 20 20 20 20 55 73 65 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 2c 20 6c 69 6b p>.......Use.the.void.value,.lik
b0400 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 e.this:.......</p>.......<pre><c
b0420 6f 64 65 3e 3c 73 70 61 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
b0440 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e ss="tok-builtin">@cDefine</span>
b0460 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e (<span.class="tok-str">&quot;_GN
b0480 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3c 2f 73 70 61 6e U_SOURCE&quot;</span>,.{})</span
b04a0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f ></code></pre>.......<p>See.also
b04c0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 :</p><ul>.<li><a.href="#Import-f
b04e0 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 rom-C-Header-File">Import.from.C
b0500 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 .Header.File</a></li>.<li><a.hre
b0520 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e f="#cInclude">@cInclude</a></li>
b0540 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 .<li><a.href="#cImport">@cImport
b0560 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e </a></li>.<li><a.href="#cUndef">
b0580 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 @cUndef</a></li>.<li><a.href="#v
b05a0 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 oid">void</a></li>.</ul>........
b05c0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6d 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d .......<h3.id="cImport"><a.href=
b05e0 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 "nav.xhtml#toc-cImport">@cImport
b0600 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 6f </a>.<a.class="hdr".href="#cImpo
b0620 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 rt">..</a></h3>........<pre><cod
b0640 65 3e 3c 73 70 61 6e 20 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
b0660 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 65 ="tok-builtin">@cImport</span>(e
b0680 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 65 xpression).<span.class="tok-type
b06a0 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 65 ">type</span></span></code></pre
b06c0 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.
b06e0 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 75 parses.C.code.and.imports.the.fu
b0700 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 20 nctions,.types,.variables,......
b0720 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 6e .and.compatible.macro.definition
b0740 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 20 s.into.a.new.empty.struct.type,.
b0760 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 65 and.then.......returns.that.type
b0780 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 6f ........</p>.......<p>.......<co
b07a0 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 6e de><span.class="line">expression
b07c0 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 74 </span></code>.is.interpreted.at
b07e0 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 74 .compile.time..The.builtin.funct
b0800 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 73 ions...........<code><span.class
b0820 3d 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
b0840 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 3e ">@cInclude</span></span></code>
b0860 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
b0880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 .class="tok-builtin">@cDefine</s
b08a0 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
b08c0 70 61 6e 20 63 6c 61 73 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
b08e0 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 3e k-builtin">@cUndef</span></span>
b0900 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 65 </code>.work.......within.this.e
b0920 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 72 xpression,.appending.to.a.tempor
b0940 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 20 ary.buffer.which.is.then.parsed.
b0960 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 0a as.C.code........</p>.......<p>.
b0980 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 61 ......Usually.you.should.only.ha
b09a0 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 3e ve.one.<code><span.class="line">
b09c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f <span.class="tok-builtin">@cImpo
b09e0 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 20 rt</span></span></code>.in.your.
b0a00 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 73 entire.application,.because.it.s
b0a20 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 76 aves.the.compiler.......from.inv
b0a40 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 20 oking.clang.multiple.times,.and.
b0a60 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 62 prevents.inline.functions.from.b
b0a80 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 20 eing.duplicated........</p>.....
b0aa0 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 6d ..<p>.......Reasons.for.having.m
b0ac0 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 22 ultiple.<code><span.class="line"
b0ae0 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
b0b00 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 73 ort</span></span></code>.express
b0b20 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 20 ions.would.be:.......</p>.......
b0b40 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 79 <ul>...........<li>To.avoid.a.sy
b0b60 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 66 mbol.collision,.for.example.if.f
b0b80 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 6e oo.h.and.bar.h.both.<code>#defin
b0ba0 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 20 e.CONNECTION_COUNT</code></li>..
b0bc0 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 65 .......<li>To.analyze.the.C.code
b0be0 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 66 .with.different.preprocessor.def
b0c00 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 53 ines</li>.......</ul>.......<p>S
b0c20 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 49 ee.also:</p><ul>.<li><a.href="#I
b0c40 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 mport-from-C-Header-File">Import
b0c60 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 69 .from.C.Header.File</a></li>.<li
b0c80 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 2f ><a.href="#cInclude">@cInclude</
b0ca0 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 40 a></li>.<li><a.href="#cDefine">@
b0cc0 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 63 cDefine</a></li>.<li><a.href="#c
b0ce0 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 20 Undef">@cUndef</a></li>.</ul>...
b0d00 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 61 ............<h3.id="cInclude"><a
b0d20 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 49 6e 63 6c 75 64 65 22 3e 40 .href="nav.xhtml#toc-cInclude">@
b0d40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 cInclude</a>.<a.class="hdr".href
b0d60 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ="#cInclude">..</a></h3>........
b0d80 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
b0da0 70 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 64 pan.class="tok-builtin">@cInclud
b0dc0 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f e</span>(<span.class="tok-kw">co
b0de0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 mptime</span>.path:.[]<span.clas
b0e00 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 6e 3e 3c 2f s="tok-type">u8</span>)</span></
b0e20 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
b0e40 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 69 64 65 20 .function.can.only.occur.inside.
b0e60 3c 63 6f 64 65 3e 3c 73 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
b0e80 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 lass="tok-builtin">@cImport</spa
b0ea0 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 20 n></span></code>........</p>....
b0ec0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e ...<p>.......This.appends.<code>
b0ee0 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 24 70 61 74 68 26 67 74 3b 5c 6e 3c 2f 63 6f 64 65 3e 20 #include.&lt;$path&gt;\n</code>.
b0f00 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e to.the.<code><span.class="line">
b0f20 63 5f 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d c_import</span></code>.......tem
b0f40 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 porary.buffer........</p>.......
b0f60 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
b0f80 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 6d ="#Import-from-C-Header-File">Im
b0fa0 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 3e port.from.C.Header.File</a></li>
b0fc0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 .<li><a.href="#cImport">@cImport
b0fe0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 </a></li>.<li><a.href="#cDefine"
b1000 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >@cDefine</a></li>.<li><a.href="
b1020 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 2f 75 6c 3e 0a #cUndef">@cUndef</a></li>.</ul>.
b1040 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6c 7a 22 3e 3c 61 20 68 ...............<h3.id="clz"><a.h
b1060 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e ref="nav.xhtml#toc-clz">@clz</a>
b1080 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e c2 a7 3c 2f .<a.class="hdr".href="#clz">..</
b10a0 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.
b10c0 63 6c 61 73 73 3d 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
b10e0 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 iltin">@clz</span>(<span.class="
b1100 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
b1120 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 6f .class="tok-type">type</span>,.o
b1140 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 perand:.T)</span></code></pre>..
b1160 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .....<p><code><span.class="line"
b1180 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 6e 20 69 6e 74 65 >T</span></code>.must.be.an.inte
b11a0 67 65 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 ger.type.</p>.......<p><code><sp
b11c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f an.class="line">operand</span></
b11e0 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 code>.may.be.an.<a.href="#Intege
b1200 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 rs">integer</a>.or.<a.href="#Vec
b1220 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a tors">vector</a>.</p>.......<p>.
b1240 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e ......This.function.counts.the.n
b1260 75 6d 62 65 72 20 6f 66 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 6c 65 61 64 69 umber.of.most-significant.(leadi
b1280 6e 67 20 69 6e 20 61 20 62 69 67 2d 45 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 ng.in.a.big-Endian.sense).zeroes
b12a0 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .in.an.integer........</p>......
b12c0 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<p>.......If.<code><span.class=
b12e0 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 "line">operand</span></code>.is.
b1300 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f a.<a.href="#comptime">comptime</
b1320 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 a>-known.integer,.......the.retu
b1340 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 rn.type.is.<code><span.class="li
b1360 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 ne"><span.class="tok-type">compt
b1380 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ime_int</span></span></code>....
b13a0 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 ....Otherwise,.the.return.type.i
b13c0 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 s.an.unsigned.integer.or.vector.
b13e0 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 of.unsigned.integers.with.the.mi
b1400 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 nimum.number.......of.bits.that.
b1420 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 can.represent.the.bit.count.of.t
b1440 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 he.integer.type........</p>.....
b1460 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..<p>.......If.<code><span.class
b1480 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 ="line">operand</span></code>.is
b14a0 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .zero,.<code><span.class="line">
b14c0 3c 73 70 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 6c 7a 3c 2f <span.class="tok-builtin">@clz</
b14e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 span></span></code>.returns.the.
b1500 62 69 74 20 77 69 64 74 68 0a 20 20 20 20 20 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 bit.width.......of.integer.type.
b1520 3c 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
b1540 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 53 65 ></code>........</p>.......<p>Se
b1560 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 74 e.also:</p><ul>.<li><a.href="#ct
b1580 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 z">@ctz</a></li>.<li><a.href="#p
b15a0 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c opCount">@popCount</a></li>.</ul
b15c0 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 >................<h3.id="cmpxchg
b15e0 53 74 72 6f 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 Strong"><a.href="nav.xhtml#toc-c
b1600 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>
b1620 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 78 63 68 67 53 74 .<a.class="hdr".href="#cmpxchgSt
b1640 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 70 72 65 3e 3c 63 rong">..</a></h3>........<pre><c
b1660 6f 64 65 3e 3c 73 70 61 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
b1680 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 74 72 6f 6e 67 3c ss="tok-builtin">@cmpxchgStrong<
b16a0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 /span>(<span.class="tok-kw">comp
b16c0 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d time</span>.T:.<span.class="tok-
b16e0 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 type">type</span>,.ptr:.*T,.expe
b1700 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 54 2c 20 73 75 63 cted_value:.T,.new_value:.T,.suc
b1720 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 61 69 6c 5f 6f 72 cess_order:.AtomicOrder,.fail_or
b1740 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 3e 3c 2f 63 6f 64 der:.AtomicOrder).?T</span></cod
b1760 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
b1780 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 74 6f 6d 69 63 20 nction.performs.a.strong.atomic.
b17a0 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 2e 20 49 74 27 73 compare.exchange.operation..It's
b17c0 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 20 63 6f 64 65 2c 0a 20 20 .the.equivalent.of.this.code,...
b17e0 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d 69 63 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ....except.atomic:.......</p>...
b1800 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
b1820 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.
b1840 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
b1860 65 3e 3c 73 70 61 6e 20 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
b1880 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=
b18a0 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 6f 74 41 74 6f 6d "tok-fn">cmpxchgStrongButNotAtom
b18c0 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 6b 77 22 3e 63 ic</span>(<span.class="tok-kw">c
b18e0 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
b1900 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 ok-type">type</span>,.ptr:.*T,.e
b1920 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 54 29 20 xpected_value:.T,.new_value:.T).
b1940 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 69 6e 65 22 3e 20 ?T.{</span>.<span.class="line">.
b1960 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
b1980 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 70 61 6e 3e 0a 3c pan>.old_value.=.ptr.*;</span>.<
b19a0 73 70 61 6e 20 63 6c 61 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
b19c0 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 76 61 6c 75 65 20 s="tok-kw">if</span>.(old_value.
b19e0 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 3e 0a 3c 73 70 61 ==.expected_value).{</span>.<spa
b1a00 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 20 3d 20 6e n.class="line">........ptr.*.=.n
b1a20 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 73 73 3d 22 6c 69 ew_value;</span>.<span.class="li
b1a40 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"
b1a60 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-
b1a80 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.
b1aa0 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="
b1ac0 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
b1ae0 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
b1b00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 ass="tok-kw">return</span>.old_v
b1b20 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 3e alue;</span>.<span.class="line">
b1b40 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">
b1b60 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>..
b1b80 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 .....<p>.......If.you.are.using.
b1ba0 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 3d 22 23 63 6d 70 cmpxchg.in.a.loop,.<a.href="#cmp
b1bc0 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 20 69 73 20 74 68 xchgWeak">@cmpxchgWeak</a>.is.th
b1be0 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 74 20 63 61 6e 20 e.better.choice,.because.it.can.
b1c00 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 65 66 66 69 63 69 be.implemented.......more.effici
b1c20 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 6f 6e 73 2e 0a 20 ently.in.machine.instructions...
b1c40 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>
b1c60 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
b1c80 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 e>.must.be.a.pointer,.a.<code><s
b1ca0 70 61 6e 20 63 6c 61 73 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
b1cc0 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
b1ce0 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 >,.a.float,.......an.integer.or.
b1d00 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f an.enum........</p>.......<p><co
b1d20 64 65 3e 3c 73 70 61 6e 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
b1d40 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>
b1d60 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
b1d80 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e Of</span>(ptr)).Pointer.alignmen
b1da0 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 6f 64 65 3e 3c 73 t</span></code>.must.be.<code><s
b1dc0 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 61 6e 20 63 6c 61 pan.class="line">&gt;=.<span.cla
b1de0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@sizeOf</span>(
b1e00 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 20 20 3c 70 3e 53 T).</span></code></p>.......<p>S
b1e20 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 ee.also:</p><ul>.<li><a.href="#a
b1e40 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 tomicStore">@atomicStore</a></li
b1e60 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 22 3e 40 61 74 6f >.<li><a.href="#atomicLoad">@ato
b1e80 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 65 66 3d 22 23 61 micLoad</a></li>.<li><a.href="#a
b1ea0 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c tomicRmw">@atomicRmw</a></li>.<l
b1ec0 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c i><a.href="#fence">@fence</a></l
b1ee0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 i>.<li><a.href="#cmpxchgWeak">@c
b1f00 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 0a 20 20 20 20 20 mpxchgWeak</a></li>.</ul>.......
b1f20 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 61 6b 22 3e 3c 61 .........<h3.id="cmpxchgWeak"><a
b1f40 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 6d 70 78 63 68 67 57 65 61 6b .href="nav.xhtml#toc-cmpxchgWeak
b1f60 22 3e 40 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 ">@cmpxchgWeak</a>.<a.class="hdr
b1f80 22 20 68 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 ".href="#cmpxchgWeak">..</a></h3
b1fa0 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=
b1fc0 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"
b1fe0 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 >@cmpxchgWeak</span>(<span.class
b2000 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 ="tok-kw">comptime</span>.T:.<sp
b2020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c an.class="tok-type">type</span>,
b2040 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 .ptr:.*T,.expected_value:.T,.new
b2060 5f 76 61 6c 75 65 3a 20 54 2c 20 73 75 63 63 65 73 73 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 _value:.T,.success_order:.Atomic
b2080 4f 72 64 65 72 2c 20 66 61 69 6c 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 Order,.fail_order:.AtomicOrder).
b20a0 3f 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e ?T</span></code></pre>.......<p>
b20c0 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 .......This.function.performs.a.
b20e0 77 65 61 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 weak.atomic.compare.exchange.ope
b2100 72 61 74 69 6f 6e 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 ration..It's.the.equivalent.of.t
b2120 68 69 73 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d 69 63 3a 0a 20 his.code,.......except.atomic:..
b2140 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
b2160 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=
b2180 22 66 69 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 "file">cmpxchgWeakButNotAtomic</
b21a0 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
b21c0 61 6e 20 63 6c 61 73 73 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
b21e0 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-
b2200 66 6e 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f 73 70 61 fn">cmpxchgWeakButNotAtomic</spa
b2220 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
b2240 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
b2260 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 ">type</span>,.ptr:.*T,.expected
b2280 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 29 20 3f 54 20 7b 3c 2f 73 _value:.T,.new_value:.T).?T.{</s
b22a0 70 61 6e 3e 0a 3c 73 70 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
b22c0 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.ol
b22e0 64 5f 76 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 d_value.=.ptr.*;</span>.<span.cl
b2300 61 73 73 3d 22 6c 69 6e 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-
b2320 6b 77 22 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 kw">if</span>.(old_value.==.expe
b2340 63 74 65 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 cted_value.<span.class="tok-kw">
b2360 61 6e 64 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 and</span>.usuallyTrueButSometim
b2380 65 73 46 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 esFalse()).{</span>.<span.class=
b23a0 22 6c 69 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 "line">........ptr.*.=.new_value
b23c0 3b 3c 2f 73 70 61 6e 3e 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">....
b23e0 20 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<
b2400 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 6e 75 /span>.<span.class="tok-null">nu
b2420 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ll</span>;</span>.<span.class="l
b2440 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 3e ine">....}.<span.class="tok-kw">
b2460 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 63 6c 61 73 73 else</span>.{</span>.<span.class
b2480 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
b24a0 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 3b 3c 2f 73 -kw">return</span>.old_value;</s
b24c0 70 61 6e 3e 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
b24e0 70 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>
b2500 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>
b2520 0a 20 20 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 .......If.you.are.using.cmpxchg.
b2540 69 6e 20 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 in.a.loop,.the.sporadic.failure.
b2560 77 69 6c 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 will.be.no.problem,.and.<code><s
b2580 70 61 6e 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 pan.class="line">cmpxchgWeak</sp
b25a0 61 6e 3e 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 an></code>.......is.the.better.c
b25c0 68 6f 69 63 65 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 hoice,.because.it.can.be.impleme
b25e0 6e 74 65 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 nted.more.efficiently.in.machine
b2600 20 69 6e 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 .instructions........However.if.
b2620 79 6f 75 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 you.need.a.stronger.guarantee,.u
b2640 73 65 20 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 se.<a.href="#cmpxchgStrong">@cmp
b2660 78 63 68 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 xchgStrong</a>........</p>......
b2680 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .<p>.......<code><span.class="li
b26a0 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 20 61 20 70 6f ne">T</span></code>.must.be.a.po
b26c0 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 inter,.a.<code><span.class="line
b26e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 "><span.class="tok-type">bool</s
b2700 70 61 6e 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 pan></span></code>,.a.float,....
b2720 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 ...an.integer.or.an.enum........
b2740 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d </p>.......<p><code><span.class=
b2760 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"
b2780 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >@typeInfo</span>(<span.class="t
b27a0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 ok-builtin">@TypeOf</span>(ptr))
b27c0 2e 50 6f 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 .Pointer.alignment</span></code>
b27e0 20 6d 75 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 .must.be.<code><span.class="line
b2800 22 3e 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ">&gt;=.<span.class="tok-builtin
b2820 22 3e 40 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 ">@sizeOf</span>(T).</span></cod
b2840 65 3e 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 e></p>.......<p>See.also:</p><ul
b2860 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 >.<li><a.href="#atomicStore">@at
b2880 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 omicStore</a></li>.<li><a.href="
b28a0 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 #atomicLoad">@atomicLoad</a></li
b28c0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d >.<li><a.href="#atomicRmw">@atom
b28e0 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e icRmw</a></li>.<li><a.href="#fen
b2900 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=
b2920 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c "#cmpxchgStrong">@cmpxchgStrong<
b2940 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
b2960 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 3.id="compileError"><a.href="nav
b2980 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c .xhtml#toc-compileError">@compil
b29a0 65 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 eError</a>.<a.class="hdr".href="
b29c0 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 #compileError">..</a></h3>......
b29e0 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">
b2a00 3c 73 70 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
b2a20 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d leError</span>(<span.class="tok-
b2a40 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 73 67 3a 20 5b 5d 3c 73 70 61 6e kw">comptime</span>.msg:.[]<span
b2a60 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 3c 2f 73 70 .class="tok-type">u8</span>)</sp
b2a80 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>......
b2aa0 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 65 6e 20 73 65 6d 61 6e 74 69 63 61 6c 6c .This.function,.when.semanticall
b2ac0 79 20 61 6e 61 6c 79 7a 65 64 2c 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 y.analyzed,.causes.a.compile.err
b2ae0 6f 72 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e or.with.the.......message.<code>
b2b00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 73 67 3c 2f 73 70 61 6e 3e 3c 2f 63 <span.class="line">msg</span></c
b2b20 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>......
b2b40 20 54 68 65 72 65 20 61 72 65 20 73 65 76 65 72 61 6c 20 77 61 79 73 20 74 68 61 74 20 63 6f 64 .There.are.several.ways.that.cod
b2b60 65 20 61 76 6f 69 64 73 20 62 65 69 6e 67 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 63 68 65 63 e.avoids.being.semantically.chec
b2b80 6b 65 64 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c ked,.such.as.......using.<code><
b2ba0 73 70 61 6e 20 63 6c 61 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
b2bc0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f ok-kw">if</span></span></code>.o
b2be0 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 6e r.<code><span.class="line"><span
b2c00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-kw">switch</span></s
b2c20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f pan></code>.with.compile.time.co
b2c40 6e 73 74 61 6e 74 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 63 6f 64 65 nstants,...............and.<code
b2c60 3e 3c 73 70 61 6e 20 63 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=
b2c80 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 3c "tok-kw">comptime</span></span><
b2ca0 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 /code>.functions........</p>....
b2cc0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 3c ...........<h3.id="compileLog"><
b2ce0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 6f 6d 70 69 6c 65 4c 6f 67 a.href="nav.xhtml#toc-compileLog
b2d00 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ">@compileLog</a>.<a.class="hdr"
b2d20 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a .href="#compileLog">..</a></h3>.
b2d40 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
b2d60 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">@
b2d80 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 2e 2e 2e 29 3c 2f 73 70 compileLog</span>(args:....)</sp
b2da0 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>......
b2dc0 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 73 20 74 68 65 20 61 72 67 75 6d 65 .This.function.prints.the.argume
b2de0 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 69 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 nts.passed.to.it.at.compile-time
b2e00 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 6f 20 ........</p>.......<p>.......To.
b2e20 70 72 65 76 65 6e 74 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 6c 65 61 76 69 6e 67 20 63 6f 6d prevent.accidentally.leaving.com
b2e40 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 63 6f 64 65 62 61 73 pile.log.statements.in.a.codebas
b2e60 65 2c 0a 20 20 20 20 20 20 61 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 20 69 73 20 e,.......a.compilation.error.is.
b2e80 61 64 64 65 64 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 added.to.the.build,.pointing.to.
b2ea0 74 68 65 20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 2e the.compile.......log.statement.
b2ec0 20 54 68 69 73 20 65 72 72 6f 72 20 70 72 65 76 65 6e 74 73 20 63 6f 64 65 20 66 72 6f 6d 20 62 .This.error.prevents.code.from.b
b2ee0 65 69 6e 67 20 67 65 6e 65 72 61 74 65 64 2c 20 62 75 74 0a 20 20 20 20 20 20 64 6f 65 73 20 6e eing.generated,.but.......does.n
b2f00 6f 74 20 6f 74 68 65 72 77 69 73 65 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 61 6e 61 6c ot.otherwise.interfere.with.anal
b2f20 79 73 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ysis........</p>.......<p>......
b2f40 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 6f .This.function.can.be.used.to.do
b2f60 20 22 70 72 69 6e 74 66 20 64 65 62 75 67 67 69 6e 67 22 20 6f 6e 0a 20 20 20 20 20 20 63 6f 6d ."printf.debugging".on.......com
b2f80 70 69 6c 65 2d 74 69 6d 65 20 65 78 65 63 75 74 69 6e 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 pile-time.executing.code........
b2fa0 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
b2fc0 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
b2fe0 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
b3000 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
b3020 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.pr
b3040 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e int.=.<span.class="tok-builtin">
b3060 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-
b3080 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 62 str">&quot;std&quot;</span>).deb
b30a0 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 69 ug.print;</span>.<span.class="li
b30c0 6e 65 22 3e 3c 2f 73 70 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"><
b30e0 73 70 61 6e 20 63 6c 61 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>
b3100 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .num1.=.blk:.{</span>.<span.clas
b3120 73 3d 22 6c 69 6e 65 22 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
b3140 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">var</span>.val1:.<span.class="
b3160 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
b3180 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ss="tok-number">99</span>;</span
b31a0 3e 0a 3c 73 70 61 6e 20 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
b31c0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f lass="tok-builtin">@compileLog</
b31e0 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
b3200 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c t;comptime.val1.=.&quot;</span>,
b3220 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 73 3d 22 6c 69 6e 65 .val1);</span>.<span.class="line
b3240 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 20 63 6c 61 73 73 3d ">....val1.=.val1.+.<span.class=
b3260 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
b3280 70 61 6e 20 63 6c 61 73 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
b32a0 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 76 61 6c 31 ="tok-kw">break</span>.:blk.val1
b32c0 3b 3c 2f 73 70 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">};</
b32e0 73 70 61 6e 3e 0a 3c 73 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>
b3300 0a 3c 73 70 61 6e 20 63 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=
b3320 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
b3340 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 74 3b 3c 2f 73 70 61 ="tok-str">&quot;main&quot;</spa
b3360 6e 3e 20 7b 3c 2f 73 70 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">.
b3380 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f ...<span.class="tok-builtin">@co
b33a0 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mpileLog</span>(<span.class="tok
b33c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f -str">&quot;comptime.in.main&quo
b33e0 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="
b3400 6c 69 6e 65 22 3e 3c 2f 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"
b3420 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 >....print(<span.class="tok-str"
b3440 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 31 20 3d 20 7b >&quot;Runtime.in.main,.num1.=.{
b3460 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 3b 3c 2f 73 70 }.\n&quot;</span>,..{num1});</sp
b3480 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><
b34a0 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
b34c0 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
b34e0 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
b3500 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.
b3520 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
b3540 6e 65 22 3e 7c 20 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 ne">|.*&quot;comptime.in.main&qu
b3560 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 6e 65 22 3e 7c 20 ot;</span>.<span.class="line">|.
b3580 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 26 71 75 6f 74 3b 2c 20 39 *&quot;comptime.val1.=.&quot;,.9
b35a0 39 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 9</span>.<span.class="line"><spa
b35c0 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
b35e0 2e 7a 69 67 3a 31 31 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:11:5:.</span><span.class="t
b3600 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=
b3620 22 74 30 5f 31 22 3e 66 6f 75 6e 64 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 "t0_1">found.compile.log.stateme
b3640 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nt</span></span>.<span.class="li
b3660 6e 65 22 3e 20 20 20 20 40 63 6f 6d 70 69 6c 65 4c 6f 67 28 26 71 75 6f 74 3b 63 6f 6d 70 74 69 ne">....@compileLog(&quot;compti
b3680 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 me.in.main&quot;);</span>.<span.
b36a0 63 6c 61 73 73 3d 22 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
b36c0 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
b36e0 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
b3700 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:1:35:.</span><s
b3720 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><
b3740 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 span.class="t0_1">referenced.her
b3760 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
b3780 65 22 3e 63 6f 6e 73 74 20 70 72 69 6e 74 20 3d 20 40 69 6d 70 6f 72 74 28 26 71 75 6f 74 3b 73 e">const.print.=.@import(&quot;s
b37a0 74 64 26 71 75 6f 74 3b 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 td&quot;).debug.print;</span>.<s
b37c0 70 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">...............
b37e0 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="
b3800 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
b3820 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
b3840 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 33 3a 35 3a 20 3c 2f 73 70 61 6e 3e ocgen_tmp/test.zig:13:5:.</span>
b3860 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 61 6e <span.class="t36_1">note:.</span
b3880 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 ><span.class="t0_1">referenced.h
b38a0 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
b38c0 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e 20 ine">....print(&quot;Runtime.in.
b38e0 6d 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 2c 20 2e 7b 6e 75 6d 31 main,.num1.=.{}.\n&quot;,..{num1
b3900 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">..
b3920 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></
b3940 73 70 61 6e 3e 0a 3c 73 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
b3960 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
b3980 67 3a 35 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 g:5:5:.</span><span.class="t31_1
b39a0 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_
b39c0 31 22 3e 66 6f 75 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 1">found.compile.log.statement</
b39e0 73 70 61 6e 3e 3c 2f 73 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">
b3a00 20 20 20 20 40 63 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 ....@compileLog(&quot;comptime.v
b3a20 61 6c 31 20 3d 20 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 al1.=.&quot;,.val1);</span>.<spa
b3a40 6e 20 63 6c 61 73 73 3d 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="
b3a60 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
b3a80 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
b3aa0 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 33 3a 34 36 3a 20 3c 2f 73 70 61 6e ocgen_tmp/test.zig:13:46:.</span
b3ac0 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 61 ><span.class="t36_1">note:.</spa
b3ae0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 n><span.class="t0_1">referenced.
b3b00 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 3d 22 here</span></span>.<span.class="
b3b20 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e line">....print(&quot;Runtime.in
b3b40 20 6d 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 2c 20 2e 7b 6e 75 6d .main,.num1.=.{}.\n&quot;,..{num
b3b60 31 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 1});</span>.<span.class="line">.
b3b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b3ba0 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">
b3bc0 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
b3be0 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 70 igure>.......<p>.......will.outp
b3c00 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 49 ut:.......</p>.......<p>.......I
b3c20 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 3c f.all.<code><span.class="line"><
b3c40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c span.class="tok-builtin">@compil
b3c60 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 20 eLog</span></span></code>.calls.
b3c80 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 74 are.removed.or.......not.encount
b3ca0 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 67 ered.by.analysis,.the.......prog
b3cc0 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 68 ram.compiles.successfully.and.th
b3ce0 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 20 e.generated.executable.prints:..
b3d00 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
b3d20 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=
b3d40 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 63 "file">without_compileLog.zig</c
b3d60 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
b3d80 6e 20 63 6c 61 73 73 3d 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-
b3da0 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 63 kw">const</span>.print.=.<span.c
b3dc0 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
b3de0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
b3e00 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 70 d&quot;</span>).debug.print;</sp
b3e20 61 6e 3e 0a 3c 73 70 61 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>.<
b3e40 73 70 61 6e 20 63 6c 61 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
b3e60 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 20 ok-kw">const</span>.num1.=.blk:.
b3e80 7b 3c 2f 73 70 61 6e 3e 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">....
b3ea0 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>.
b3ec0 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 32 val1:.<span.class="tok-type">i32
b3ee0 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
b3f00 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 73 r">99</span>;</span>.<span.class
b3f20 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 20 ="line">....val1.=.val1.+.<span.
b3f40 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
b3f60 61 6e 3e 0a 3c 73 70 61 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
b3f80 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 6c .class="tok-kw">break</span>.:bl
b3fa0 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 65 k.val1;</span>.<span.class="line
b3fc0 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"><
b3fe0 2f 73 70 61 6e 3e 0a 3c 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.
b4000 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
b4020 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 74 .class="tok-str">&quot;main&quot
b4040 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
b4060 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-
b4080 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 31 str">&quot;Runtime.in.main,.num1
b40a0 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 3b .=.{}.\n&quot;</span>,..{num1});
b40c0 3c 2f 73 70 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
b40e0 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
b4100 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
b4120 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
b4140 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
b4160 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 61 ithout_compileLog.zig</kbd></spa
b4180 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.&
b41a0 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 61 quot;main&quot;....Runtime.in.ma
b41c0 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 61 in,.num1.=.100.</span>.<span.cla
b41e0 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 3d ss="line">OK</span>.<span.class=
b4200 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
b4220 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>........
b4240 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 6e 61 76 .......<h3.id="ctz"><a.href="nav
b4260 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 .xhtml#toc-ctz">@ctz</a>.<a.clas
b4280 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 74 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a s="hdr".href="#ctz">..</a></h3>.
b42a0 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
b42c0 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">@
b42e0 63 74 7a 3c 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 ctz</span>(<span.class="tok-kw">
b4300 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 comptime</span>.T:.<span.class="
b4320 74 6f 6b 2d 74 79 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 tok-type">type</span>,.operand:.
b4340 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e T)</span></code></pre>.......<p>
b4360 3c 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
b4380 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 ></code>.must.be.an.integer.type
b43a0 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .</p>.......<p><code><span.class
b43c0 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 ="line">operand</span></code>.ma
b43e0 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 y.be.an.<a.href="#Integers">inte
b4400 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 ger</a>.or.<a.href="#Vectors">ve
b4420 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 ctor</a>.</p>.......<p>.......Th
b4440 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 is.function.counts.the.number.of
b4460 20 6c 65 61 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 74 72 61 69 6c 69 6e 67 20 69 6e 20 .least-significant.(trailing.in.
b4480 61 20 62 69 67 2d 45 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e a.big-Endian.sense).zeroes.in.an
b44a0 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 .integer........</p>.......<p>..
b44c0 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .....If.<code><span.class="line"
b44e0 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 >operand</span></code>.is.a.<a.h
b4500 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f ref="#comptime">comptime</a>-kno
b4520 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 wn.integer,.......the.return.typ
b4540 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e.is.<code><span.class="line"><s
b4560 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
b4580 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 t</span></span></code>........Ot
b45a0 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 herwise,.the.return.type.is.an.u
b45c0 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 nsigned.integer.or.vector.of.uns
b45e0 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 igned.integers.with.the.minimum.
b4600 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 number.......of.bits.that.can.re
b4620 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 present.the.bit.count.of.the.int
b4640 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a eger.type........</p>.......<p>.
b4660 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......If.<code><span.class="line
b4680 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c ">operand</span></code>.is.zero,
b46a0 20 3c 63 6f 64 65 3e 3c 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.
b46c0 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 6e 3e 3c class="tok-builtin">@ctz</span><
b46e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 74 68 65 20 /span></code>.returns.......the.
b4700 62 69 74 20 77 69 64 74 68 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e bit.width.of.integer.type.<code>
b4720 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
b4740 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
b4760 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 6c 7a 22 3e 40 63 6c :</p><ul>.<li><a.href="#clz">@cl
b4780 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e z</a></li>.<li><a.href="#popCoun
b47a0 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 t">@popCount</a></li>.</ul>.....
b47c0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 55 6e 64 65 66 22 3e 3c 61 20 68 72 ...........<h3.id="cUndef"><a.hr
b47e0 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 ef="nav.xhtml#toc-cUndef">@cUnde
b4800 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 55 6e 64 f</a>.<a.class="hdr".href="#cUnd
b4820 65 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ef">..</a></h3>........<pre><cod
b4840 65 3e 3c 73 70 61 6e 20 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
b4860 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@cUndef</span>(<s
b4880 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
b48a0 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 74 79 70 65 n>.name:.[]<span.class="tok-type
b48c0 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 72 65 3e ">u8</span>)</span></code></pre>
b48e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 .......<p>.......This.function.c
b4900 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e an.only.occur.inside.<code><span
b4920 20 63 6c 61 73 73 3d 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
b4940 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f uiltin">@cImport</span></span></
b4960 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>.....
b4980 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 75 6e 64 65 66 20 24 6e 61 6d ..This.appends.<code>#undef.$nam
b49a0 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 61 73 e</code>.to.the.<code><span.clas
b49c0 73 3d 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
b49e0 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e n">@cImport</span></span></code>
b4a00 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 20 3c .......temporary.buffer........<
b4a20 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>.<
b4a40 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 li><a.href="#Import-from-C-Heade
b4a60 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c r-File">Import.from.C.Header.Fil
b4a80 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
b4aa0 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=
b4ac0 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 "#cDefine">@cDefine</a></li>.<li
b4ae0 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 2f ><a.href="#cInclude">@cInclude</
b4b00 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
b4b20 20 69 64 3d 22 64 69 76 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d .id="divExact"><a.href="nav.xhtm
b4b40 6c 23 74 6f 63 2d 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 3c 61 l#toc-divExact">@divExact</a>.<a
b4b60 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 63 74 22 3e c2 a7 .class="hdr".href="#divExact">..
b4b80 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
b4ba0 6e 20 63 6c 61 73 73 3d 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-
b4bc0 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 6e 75 6d 65 72 61 builtin">@divExact</span>(numera
b4be0 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e tor:.T,.denominator:.T).T</span>
b4c00 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 45 78 </code></pre>.......<p>.......Ex
b4c20 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 6e 74 65 65 73 20 act.division..Caller.guarantees.
b4c40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e <code><span.class="line">denomin
b4c60 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 75 6d 62 65 72 22 ator.!=.<span.class="tok-number"
b4c80 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 64 0a 20 20 20 20 >0</span></span></code>.and.....
b4ca0 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"><
b4cc0 73 70 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
b4ce0 6e 63 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 nc</span>(numerator,.denominator
b4d00 29 20 2a 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 6e 75 6d 65 72 61 74 6f 72 3c 2f 73 70 ).*.denominator.==.numerator</sp
b4d20 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 75 6c an></code>........</p>.......<ul
b4d40 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
b4d60 73 3d 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
b4d80 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 63 6c 61 73 73 3d n">@divExact</span>(<span.class=
b4da0 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
b4dc0 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
b4de0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-number">2</span></
b4e00 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>
b4e20 3c 63 6f 64 65 3e 3c 73 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
b4e40 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 63 74 3c 2f 73 70 lass="tok-builtin">@divExact</sp
b4e60 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 2f 63 6f 64 65 3e an>(a,.b).*.b.==.a</span></code>
b4e80 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 </li>.......</ul>.......<p>For.a
b4ea0 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c .function.that.returns.a.possibl
b4ec0 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c e.error.code,.use.<code><span.cl
b4ee0 61 73 73 3d 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
b4f00 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=
b4f20 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>
b4f40 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 64 65 3e 2e 3c 2f ).math.divExact</span></code>.</
b4f60 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
b4f80 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c i><a.href="#divTrunc">@divTrunc<
b4fa0 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 46 6c 6f 6f 72 22 /a></li>.<li><a.href="#divFloor"
b4fc0 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 0a 20 20 20 20 20 >@divFloor</a></li>.</ul>.......
b4fe0 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 3c 61 20 68 72 65 ........<h3.id="divFloor"><a.hre
b5000 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 f="nav.xhtml#toc-divFloor">@divF
b5020 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 loor</a>.<a.class="hdr".href="#d
b5040 69 76 46 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 ivFloor">..</a></h3>........<pre
b5060 3e 3c 63 6f 64 65 3e 3c 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.
b5080 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
b50a0 70 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 pan>(numerator:.T,.denominator:.
b50c0 54 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 T).T</span></code></pre>.......<
b50e0 70 3e 0a 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 p>.......Floored.division..Round
b5100 73 20 74 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 s.toward.negative.infinity..For.
b5120 75 6e 73 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 unsigned.integers.it.is.......th
b5140 65 20 73 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 e.same.as.<code><span.class="lin
b5160 65 22 3e 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 e">numerator./.denominator</span
b5180 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 64 ></code>..Caller.guarantees.<cod
b51a0 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 72 e><span.class="line">denominator
b51c0 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f .!=.<span.class="tok-number">0</
b51e0 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 20 span></span></code>.and.........
b5200 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 21 ......<code><span.class="line">!
b5220 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 (<span.class="tok-builtin">@type
b5240 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 Info</span>(T).==..Int.<span.cla
b5260 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e ss="tok-kw">and</span>.T.is_sign
b5280 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 ed.<span.class="tok-kw">and</spa
b52a0 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 n>.numerator.==.std.math.minInt(
b52c0 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 T).<span.class="tok-kw">and</spa
b52e0 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.denominator.==.-<span.class="
b5300 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 6f tok-number">1</span>)</span></co
b5320 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 de>........</p>.......<ul>......
b5340 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
b5360 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 64 69 76 "><span.class="tok-builtin">@div
b5380 46 6c 6f 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 Floor</span>(-<span.class="tok-n
b53a0 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">5</span>,.<span.class="to
b53c0 6b 2d 6e 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 k-number">3</span>).==.-<span.cl
b53e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-number">2</span></span>
b5400 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
b5420 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ><span.class="line">(<span.class
b5440 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@divFloor</span>(
b5460 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 a,.b).*.b).+.<span.class="tok-bu
b5480 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 iltin">@mod</span>(a,.b).==.a</s
b54a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 pan></code></li>.......</ul>....
b54c0 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e ...<p>For.a.function.that.return
b54e0 73 20 61 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 s.a.possible.error.code,.use.<co
b5500 64 65 3e 3c 73 70 61 6e 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
b5520 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>(<
b5540 73 70 61 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
b5560 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e uot;</span>).math.divFloor</span
b5580 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a ></code>.</p>.......<p>See.also:
b55a0 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 </p><ul>.<li><a.href="#divTrunc"
b55c0 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d >@divTrunc</a></li>.<li><a.href=
b55e0 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c "#divExact">@divExact</a></li>.<
b5600 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 54 72 /ul>...............<h3.id="divTr
b5620 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 64 69 76 54 unc"><a.href="nav.xhtml#toc-divT
b5640 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 runc">@divTrunc</a>.<a.class="hd
b5660 72 22 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a r".href="#divTrunc">..</a></h3>.
b5680 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
b56a0 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">@
b56c0 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 3a 20 54 2c 20 64 65 divTrunc</span>(numerator:.T,.de
b56e0 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 nominator:.T).T</span></code></p
b5700 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 72 75 6e 63 61 74 65 64 20 64 69 re>.......<p>.......Truncated.di
b5720 76 69 73 69 6f 6e 2e 20 52 6f 75 6e 64 73 20 74 6f 77 61 72 64 20 7a 65 72 6f 2e 20 46 6f 72 20 vision..Rounds.toward.zero..For.
b5740 75 6e 73 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 unsigned.integers.it.is.......th
b5760 65 20 73 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 e.same.as.<code><span.class="lin
b5780 65 22 3e 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 e">numerator./.denominator</span
b57a0 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 64 ></code>..Caller.guarantees.<cod
b57c0 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 72 e><span.class="line">denominator
b57e0 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f .!=.<span.class="tok-number">0</
b5800 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 20 span></span></code>.and.........
b5820 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 21 ......<code><span.class="line">!
b5840 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 (<span.class="tok-builtin">@type
b5860 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 Info</span>(T).==..Int.<span.cla
b5880 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e ss="tok-kw">and</span>.T.is_sign
b58a0 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 ed.<span.class="tok-kw">and</spa
b58c0 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 n>.numerator.==.std.math.minInt(
b58e0 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 T).<span.class="tok-kw">and</spa
b5900 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.denominator.==.-<span.class="
b5920 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 6f tok-number">1</span>)</span></co
b5940 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 de>........</p>.......<ul>......
b5960 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
b5980 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 64 69 76 "><span.class="tok-builtin">@div
b59a0 54 72 75 6e 63 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 Trunc</span>(-<span.class="tok-n
b59c0 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">5</span>,.<span.class="to
b59e0 6b 2d 6e 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 k-number">3</span>).==.-<span.cl
b5a00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-number">1</span></span>
b5a20 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
b5a40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ><span.class="line">(<span.class
b5a60 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 28 ="tok-builtin">@divTrunc</span>(
b5a80 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 a,.b).*.b).+.<span.class="tok-bu
b5aa0 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 iltin">@rem</span>(a,.b).==.a</s
b5ac0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 pan></code></li>.......</ul>....
b5ae0 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e ...<p>For.a.function.that.return
b5b00 73 20 61 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 s.a.possible.error.code,.use.<co
b5b20 64 65 3e 3c 73 70 61 6e 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
b5b40 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>(<
b5b60 73 70 61 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
b5b80 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e uot;</span>).math.divTrunc</span
b5ba0 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a ></code>.</p>.......<p>See.also:
b5bc0 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 </p><ul>.<li><a.href="#divFloor"
b5be0 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d >@divFloor</a></li>.<li><a.href=
b5c00 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c "#divExact">@divExact</a></li>.<
b5c20 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 65 6d 62 65 64 /ul>...............<h3.id="embed
b5c40 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 6d 62 File"><a.href="nav.xhtml#toc-emb
b5c60 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d edFile">@embedFile</a>.<a.class=
b5c80 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f "hdr".href="#embedFile">..</a></
b5ca0 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
b5cc0 73 3d 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
b5ce0 6e 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 n">@embedFile</span>(<span.class
b5d00 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 68 3a 20 ="tok-kw">comptime</span>.path:.
b5d20 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
b5d40 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
b5d60 70 61 6e 3e 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 pan>).*<span.class="tok-kw">cons
b5d80 74 3c 2f 73 70 61 6e 3e 20 5b 4e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d t</span>.[N:<span.class="tok-num
b5da0 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
b5dc0 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 70 72 ype">u8</span></span></code></pr
b5de0 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
b5e00 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 .returns.a.compile.time.constant
b5e20 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 .pointer.to.null-terminated,....
b5e40 20 20 20 66 69 78 65 64 2d 73 69 7a 65 20 61 72 72 61 79 20 77 69 74 68 20 6c 65 6e 67 74 68 20 ...fixed-size.array.with.length.
b5e60 65 71 75 61 6c 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 66 equal.to.the.byte.count.of.the.f
b5e80 69 6c 65 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ile.given.by.......<code><span.c
b5ea0 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 2e 20 lass="line">path</span></code>..
b5ec0 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 61 72 65 20 74 68 The.contents.of.the.array.are.th
b5ee0 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 54 68 e.contents.of.the.file........Th
b5f00 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 is.is.equivalent.to.a.<a.href="#
b5f20 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 String-Literals-and-Unicode-Code
b5f40 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 3c -Point-Literals">string.literal<
b5f60 2f 61 3e 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 /a>.......with.the.file.contents
b5f80 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 6f ........</p>.......<p>.......<co
b5fa0 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 6e de><span.class="line">path</span
b5fc0 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 20 6f 72 20 72 65 6c 61 74 69 76 65 ></code>.is.absolute.or.relative
b5fe0 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2c 20 6a 75 73 74 20 6c 69 6b 65 20 .to.the.current.file,.just.like.
b6000 3c 63 6f 64 65 3e 3c 73 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
b6020 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
b6040 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ></span></code>........</p>.....
b6060 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
b6080 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f ef="#import">@import</a></li>.</
b60a0 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 6e 75 6d 54 ul>................<h3.id="enumT
b60c0 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 6e 75 oInt"><a.href="nav.xhtml#toc-enu
b60e0 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 73 3d mToInt">@enumToInt</a>.<a.class=
b6100 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 3c 2f "hdr".href="#enumToInt">..</a></
b6120 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
b6140 73 3d 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
b6160 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 61 67 n">@enumToInt</span>(enum_or_tag
b6180 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 22 3e ged_union:.<span.class="tok-kw">
b61a0 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
b61c0 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 64 65 -kw">anytype</span></span></code
b61e0 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 74 73 ></pre>.......<p>.......Converts
b6200 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 20 69 .an.enumeration.value.into.its.i
b6220 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 20 75 nteger.tag.type..When.a.tagged.u
b6240 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 76 61 nion.is.passed,.......the.tag.va
b6260 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 20 76 lue.is.used.as.the.enumeration.v
b6280 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 20 alue........</p>.......<p>......
b62a0 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 20 65 .If.there.is.only.one.possible.e
b62c0 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 64 65 num.value,.the.result.is.a.<code
b62e0 3e 3c 73 70 61 6e 20 63 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=
b6300 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f "tok-type">comptime_int</span></
b6320 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 20 68 span></code>.......known.at.<a.h
b6340 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 0a 20 20 ref="#comptime">comptime</a>....
b6360 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c ....</p>.......<p>See.also:</p><
b6380 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 69 6e ul>.<li><a.href="#intToEnum">@in
b63a0 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 0a 0a tToEnum</a></li>.</ul>..........
b63c0 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 65 66 ......<h3.id="errorName"><a.href
b63e0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f ="nav.xhtml#toc-errorName">@erro
b6400 72 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 rName</a>.<a.class="hdr".href="#
b6420 65 72 72 6f 72 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 errorName">..</a></h3>........<p
b6440 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
b6460 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 4e 61 6d 65 n.class="tok-builtin">@errorName
b6480 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 </span>(err:.<span.class="tok-ty
b64a0 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 pe">anyerror</span>).[:<span.cla
b64c0 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
b64e0 6c 61 73 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
b6500 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .class="tok-type">u8</span></spa
b6520 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>.......
b6540 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 This.function.returns.the.string
b6560 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 20 54 68 65 .representation.of.an.error..The
b6580 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 6f 66 20 .string.representation.......of.
b65a0 3c 63 6f 64 65 3e 3c 73 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
b65c0 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 66 lass="tok-kw">error</span>.OutOf
b65e0 4d 65 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e Mem</span></code>.is.<code><span
b6600 20 63 6c 61 73 73 3d 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 .class="line"><span.class="tok-s
b6620 74 72 22 3e 26 71 75 6f 74 3b 4f 75 74 4f 66 4d 65 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c tr">&quot;OutOfMem&quot;</span><
b6640 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 /span></code>........</p>.......
b6660 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 63 61 6c 6c 73 20 <p>.......If.there.are.no.calls.
b6680 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 61 to.<code><span.class="line"><spa
b66a0 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 4e 61 6d 65 n.class="tok-builtin">@errorName
b66c0 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 61 6e 20 65 6e 74 69 </span></span></code>.in.an.enti
b66e0 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6c 6c 20 63 61 6c re.application,.......or.all.cal
b6700 6c 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c ls.have.a.compile-time.known.val
b6720 75 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ue.for.<code><span.class="line">
b6740 65 72 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 6e 6f 0a 20 20 20 20 20 err</span></code>,.then.no......
b6760 20 65 72 72 6f 72 20 6e 61 6d 65 20 74 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 .error.name.table.will.be.genera
b6780 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 ted........</p>...............<h
b67a0 33 20 69 64 3d 22 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 3.id="errorReturnTrace"><a.href=
b67c0 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 "nav.xhtml#toc-errorReturnTrace"
b67e0 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d >@errorReturnTrace</a>.<a.class=
b6800 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e c2 "hdr".href="#errorReturnTrace">.
b6820 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
b6840 61 6e 20 63 6c 61 73 73 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
b6860 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 -builtin">@errorReturnTrace</spa
b6880 6e 3e 28 29 20 3f 2a 62 75 69 6c 74 69 6e 2e 53 74 61 63 6b 54 72 61 63 65 3c 2f 73 70 61 6e 3e n>().?*builtin.StackTrace</span>
b68a0 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 49 66 </code></pre>.......<p>.......If
b68c0 20 74 68 65 20 62 69 6e 61 72 79 20 69 73 20 62 75 69 6c 74 20 77 69 74 68 20 65 72 72 6f 72 20 .the.binary.is.built.with.error.
b68e0 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2c 20 61 6e 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f return.tracing,.and.this.functio
b6900 6e 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 6e 20 61 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e n.is.invoked.in.a.......function
b6920 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 6e 20 65 .that.calls.a.function.with.an.e
b6940 72 72 6f 72 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 72 65 74 75 72 6e 20 74 79 70 65 2c rror.or.error.union.return.type,
b6960 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 73 74 61 63 6b 20 74 72 61 63 65 20 6f 62 6a .returns.a.......stack.trace.obj
b6980 65 63 74 2e 20 4f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 61 20 68 72 65 66 3d 22 ect..Otherwise.returns.<a.href="
b69a0 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 #null">null</a>........</p>.....
b69c0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 54 6f 49 6e 74 22 3e 3c 61 ..........<h3.id="errorToInt"><a
b69e0 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 72 72 6f 72 54 6f 49 6e 74 22 .href="nav.xhtml#toc-errorToInt"
b6a00 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 3d 22 68 64 72 22 20 >@errorToInt</a>.<a.class="hdr".
b6a20 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 3c 2f 68 33 3e 0a 0a href="#errorToInt">..</a></h3>..
b6a40 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
b6a60 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 65 ne"><span.class="tok-builtin">@e
b6a80 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 61 6e 20 63 6c 61 73 rrorToInt</span>(err:.<span.clas
b6aa0 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 73 74 64 2e 6d s="tok-kw">anytype</span>).std.m
b6ac0 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 3d 22 eta.Int(.unsigned,.<span.class="
b6ae0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@sizeOf</span>(<spa
b6b00 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
b6b20 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 3e 38 n>).*.<span.class="tok-number">8
b6b40 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 3e 0a 20 20 20 </span>)</span></code></pre>....
b6b60 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 20 66 6f 6c 6c 6f 77 ...<p>.......Supports.the.follow
b6b80 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 20 20 20 3c 75 6c 3e ing.types:.......</p>.......<ul>
b6ba0 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 54 68 65 2d 47 6c 6f ...........<li><a.href="#The-Glo
b6bc0 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 bal-Error-Set">The.Global.Error.
b6be0 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 69 3e 3c 61 20 68 72 Set</a></li>...........<li><a.hr
b6c00 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 54 ef="#Error-Set-Type">Error.Set.T
b6c20 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 ype</a></li>...........<li><a.hr
b6c40 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 ef="#Error-Union-Type">Error.Uni
b6c60 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 75 6c 3e 0a 20 20 20 on.Type</a></li>.......</ul>....
b6c80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 72 72 6f 72 20 74 ...<p>.......Converts.an.error.t
b6ca0 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 69 6f 6e 20 6f 66 20 o.the.integer.representation.of.
b6cc0 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 20 20 3c 70 3e 0a 20 an.error........</p>.......<p>..
b6ce0 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 .....It.is.generally.recommended
b6d00 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c 20 61 73 20 74 68 .to.avoid.this.......cast,.as.th
b6d20 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 e.integer.representation.of.an.e
b6d40 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 73 6f 75 72 63 65 rror.is.not.stable.across.source
b6d60 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .code.changes........</p>.......
b6d80 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
b6da0 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 3c 2f ="#intToError">@intToError</a></
b6dc0 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=
b6de0 22 65 72 72 53 65 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 "errSetCast"><a.href="nav.xhtml#
b6e00 74 6f 63 2d 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 3e 20 toc-errSetCast">@errSetCast</a>.
b6e20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 <a.class="hdr".href="#errSetCast
b6e40 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>
b6e60 3c 73 70 61 6e 20 63 6c 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="
b6e80 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 tok-builtin">@errSetCast</span>(
b6ea0 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
b6ec0 70 61 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 pan>.T:.DestType,.value:.<span.c
b6ee0 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 44 65 lass="tok-kw">anytype</span>).De
b6f00 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 20 20 stType</span></code></pre>......
b6f20 20 3c 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 .<p>.......Converts.an.error.val
b6f40 75 65 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 ue.from.one.error.set.to.another
b6f60 20 65 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 .error.set..Attempting.to.conver
b6f80 74 20 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 t.an.error.......which.is.not.in
b6fa0 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 20 72 65 73 75 6c .the.destination.error.set.resul
b6fc0 74 73 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 ts.in.safety-protected.<a.href="
b6fe0 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
b7000 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a ehavior</a>........</p>.........
b7020 20 20 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 6e ......<h3.id="export"><a.href="n
b7040 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e av.xhtml#toc-export">@export</a>
b7060 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 6f 72 74 22 3e c2 .<a.class="hdr".href="#export">.
b7080 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
b70a0 61 6e 20 63 6c 61 73 73 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
b70c0 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 64 65 63 6c 61 72 61 -builtin">@export</span>(declara
b70e0 74 69 6f 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 tion,.<span.class="tok-kw">compt
b7100 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e ime</span>.options:.std.builtin.
b7120 45 78 70 6f 72 74 4f 70 74 69 6f 6e 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ExportOptions).<span.class="tok-
b7140 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c type">void</span></span></code><
b7160 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 /pre>.......<p>.......Creates.a.
b7180 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 symbol.in.the.output.object.file
b71a0 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 6f ........</p>.......<p>.......<co
b71c0 64 65 3e 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6f 6e de>declaration</code>.must.be.on
b71e0 65 20 6f 66 20 74 77 6f 20 74 68 69 6e 67 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.of.two.things:.......</p>.....
b7200 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 69 64 65 6e 74 69 66 69 65 72 ..<ul>.........<li>An.identifier
b7220 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 78 3c 2f 73 70 .(<code><span.class="line">x</sp
b7240 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 64 65 6e 74 69 66 79 69 6e 67 20 61 20 3c 61 20 68 72 65 an></code>).identifying.a.<a.hre
b7260 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 20 6f 72 20 61 f="#Functions">function</a>.or.a
b7280 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c ...........<a.href="#Container-L
b72a0 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c evel-Variables">variable</a>.</l
b72c0 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 69 65 6c 64 20 61 63 63 65 73 73 20 28 3c 63 6f i>.........<li>Field.access.(<co
b72e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 2e 79 3c 2f 73 70 61 6e 3e de><span.class="line">x.y</span>
b7300 3c 2f 63 6f 64 65 3e 29 20 6c 6f 6f 6b 69 6e 67 20 75 70 20 61 20 3c 61 20 68 72 65 66 3d 22 23 </code>).looking.up.a.<a.href="#
b7320 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 Functions">function</a>.or.a....
b7340 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c .......<a.href="#Container-Level
b7360 2d 56 61 72 69 61 62 6c 65 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 -Variables">variable</a>.</li>..
b7380 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 .....</ul>.......<p>.......This.
b73a0 62 75 69 6c 74 69 6e 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 3c 61 20 builtin.can.be.called.from.a.<a.
b73c0 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 62 6c href="#comptime">comptime</a>.bl
b73e0 6f 63 6b 20 74 6f 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 78 70 6f 72 74 20 73 79 6d 62 ock.to.conditionally.export.symb
b7400 6f 6c 73 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 69 6f ols........When.<code>declaratio
b7420 6e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 n</code>.is.a.function.with.the.
b7440 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 3c C.calling.convention.and.......<
b7460 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 73 2e code><span.class="line">options.
b7480 6c 69 6e 6b 61 67 65 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 linkage</span></code>.is.<code><
b74a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 3c span.class="line">Strong</span><
b74c0 2f 63 6f 64 65 3e 2c 20 74 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 /code>,.this.is.equivalent.to...
b74e0 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....the.<code><span.class="line"
b7500 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 2f 73 70 ><span.class="tok-kw">export</sp
b7520 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 75 73 65 64 20 6f an></span></code>.keyword.used.o
b7540 6e 20 61 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 n.a.function:.......</p>.......<
b7560 66 69 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
b7580 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</
b75a0 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
b75c0 61 6e 20 63 6c 61 73 73 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
b75e0 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
b7600 70 61 6e 20 63 6c 61 73 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
b7620 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 69 6e ="tok-builtin">@export</span>(in
b7640 74 65 72 6e 61 6c 4e 61 6d 65 2c 20 2e 7b 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ternalName,..{..name.=.<span.cla
b7660 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;foo&quot;</sp
b7680 61 6e 3e 2c 20 2e 6c 69 6e 6b 61 67 65 20 3d 20 2e 53 74 72 6f 6e 67 20 7d 29 3b 3c 2f 73 70 61 an>,..linkage.=..Strong.});</spa
b76a0 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>.<
b76c0 73 70 61 6e 20 63 6c 61 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.
b76e0 63 6c 61 73 73 3d 22 6c 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
b7700 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"
b7720 3e 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 >internalName</span>().<span.cla
b7740 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 43 29 20 ss="tok-kw">callconv</span>(.C).
b7760 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
b7780 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 n>.{}</span></code></pre></figur
b77a0 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
b77c0 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><
b77e0 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
b7800 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 2f 73 70 61 ig.build-obj.test.zig</kbd></spa
b7820 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>.......
b7840 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 <p>This.is.equivalent.to:</p>...
b7860 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
b7880 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.
b78a0 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
b78c0 65 3e 3c 73 70 61 6e 20 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
b78e0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">export</span>.<span.cl
b7900 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
b7920 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
b7940 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f lass="tok-type">void</span>.{}</
b7960 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
b7980 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"
b79a0 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
b79c0 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
b79e0 64 2d 6f 62 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 d-obj.test.zig</kbd></span>.</sa
b7a00 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 mp></pre></figure>.......<p>Note
b7a20 20 74 68 61 74 20 65 76 65 6e 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 .that.even.when.using.<code><spa
b7a40 6e 20 63 6c 61 73 73 3d 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-
b7a60 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 65 3e 2c kw">export</span></span></code>,
b7a80 20 3c 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 .<code><span.class="line">@&quot
b7aa0 3b 66 6f 6f 26 71 75 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 ;foo&quot;</span></code>.syntax.
b7ac0 63 61 6e 0a 20 20 20 20 20 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 6f 6f 73 65 20 61 6e 79 20 can.......be.used.to.choose.any.
b7ae0 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 2f 70 3e 0a string.for.the.symbol.name:</p>.
b7b00 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=
b7b20 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
b7b40 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
b7b60 6f 64 65 3e 3c 73 70 61 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
b7b80 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 6e 20 ss="tok-kw">export</span>.<span.
b7ba0 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
b7bc0 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 69 6f 6e 20 lass="tok-fn">@&quot;A.function.
b7be0 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 65 6e 63 65 name.that.is.a.complete.sentence
b7c00 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 3d 22 74 6f .&quot;</span>().<span.class="to
b7c20 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 3c 2f 63 k-type">void</span>.{}</span></c
b7c40 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
b7c60 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</
b7c80 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
b7ca0 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 74 65 s="line">$.<kbd>zig.build-obj.te
b7cc0 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 72 65 st.zig</kbd></span>.</samp></pre
b7ce0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 ></figure>.......<p>.......When.
b7d00 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6f 62 6a 65 63 74 2c looking.at.the.resulting.object,
b7d20 20 79 6f 75 20 63 61 6e 20 73 65 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 75 73 65 64 20 .you.can.see.the.symbol.is.used.
b7d40 76 65 72 62 61 74 69 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e verbatim:.......</p>.......<pre>
b7d60 3c 63 6f 64 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 30 31 66 30 20 54 20 41 20 66 75 6e 63 74 <code>00000000000001f0.T.A.funct
b7d80 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
b7da0 65 6e 63 65 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 ence.</code></pre>.......<p>See.
b7dc0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6f also:</p><ul>.<li><a.href="#Expo
b7de0 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 rting-a-C-Library">Exporting.a.C
b7e00 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a .Library</a></li>.</ul>.........
b7e20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 .......<h3.id="extern"><a.href="
b7e40 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 nav.xhtml#toc-extern">@extern</a
b7e60 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 22 3e >.<a.class="hdr".href="#extern">
b7e80 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
b7ea0 70 61 6e 20 63 6c 61 73 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
b7ec0 6b 2d 62 75 69 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 k-builtin">@extern</span>(T:.<sp
b7ee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c an.class="tok-type">type</span>,
b7f00 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</
b7f20 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 74 65 72 span>.options:.std.builtin.Exter
b7f40 6e 4f 70 74 69 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 nOptions).*T</span></code></pre>
b7f60 0a 20 20 20 20 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 .......<p>.......Creates.a.refer
b7f80 65 6e 63 65 20 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 ence.to.an.external.symbol.in.th
b7fa0 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 3e e.output.object.file........</p>
b7fc0 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>
b7fe0 3c 61 20 68 72 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 <a.href="#export">@export</a></l
b8000 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="
b8020 66 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 65 fence"><a.href="nav.xhtml#toc-fe
b8040 6e 63 65 22 3e 40 66 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 nce">@fence</a>.<a.class="hdr".h
b8060 72 65 66 3d 22 23 66 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ref="#fence">..</a></h3>........
b8080 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
b80a0 70 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 65 6e 63 65 3c 2f pan.class="tok-builtin">@fence</
b80c0 73 70 61 6e 3e 28 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 3c 2f 73 70 61 6e 3e span>(order:.AtomicOrder)</span>
b80e0 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
b8100 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 66 65 6e 63 65 e.<code><span.class="line">fence
b8120 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 20 75 73 65 64 20 </span></code>.function.is.used.
b8140 74 6f 20 69 6e 74 72 6f 64 75 63 65 20 68 61 70 70 65 6e 73 2d 62 65 66 6f 72 65 20 65 64 67 65 to.introduce.happens-before.edge
b8160 73 20 62 65 74 77 65 65 6e 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e s.between.operations........</p>
b8180 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
b81a0 73 73 3d 22 6c 69 6e 65 22 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ss="line">AtomicOrder</span></co
b81c0 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 de>.can.be.found.with.<code><spa
b81e0 6e 20 63 6c 61 73 73 3d 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-
b8200 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
b8220 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
b8240 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 73 70 61 6e 3e pan>).builtin.AtomicOrder</span>
b8260 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
b8280 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
b82a0 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>.
b82c0 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
b82e0 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f cLoad</a></li>.<li><a.href="#ato
b8300 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e micRmw">@atomicRmw</a></li>.<li>
b8320 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 67 57 <a.href="#cmpxchgWeak">@cmpxchgW
b8340 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 78 63 eak</a></li>.<li><a.href="#cmpxc
b8360 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 6c 69 hgStrong">@cmpxchgStrong</a></li
b8380 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 66 >.</ul>................<h3.id="f
b83a0 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 69 65 ield"><a.href="nav.xhtml#toc-fie
b83c0 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ld">@field</a>.<a.class="hdr".hr
b83e0 65 66 3d 22 23 66 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ef="#field">..</a></h3>........<
b8400 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
b8420 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 an.class="tok-builtin">@field</s
b8440 70 61 6e 3e 28 6c 68 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 pan>(lhs:.<span.class="tok-kw">a
b8460 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 74 6f 6b 2d nytype</span>,.<span.class="tok-
b8480 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 kw">comptime</span>.field_name:.
b84a0 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
b84c0 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
b84e0 70 61 6e 3e 29 20 28 66 69 65 6c 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 pan>).(field)</span></code></pre
b8500 3e 0a 20 20 20 20 20 20 3c 70 3e 50 65 72 66 6f 72 6d 73 20 66 69 65 6c 64 20 61 63 63 65 73 73 >.......<p>Performs.field.access
b8520 20 62 79 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 73 74 72 69 6e 67 2e 20 57 6f 72 6b 73 .by.a.compile-time.string..Works
b8540 20 6f 6e 20 62 6f 74 68 20 66 69 65 6c 64 73 20 61 6e 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 .on.both.fields.and.declarations
b8560 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 ........</p>........<figure><fig
b8580 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
b85a0 61 73 73 3d 22 66 69 6c 65 22 3e 66 69 65 6c 64 5f 64 65 63 6c 5f 61 63 63 65 73 73 5f 62 79 5f ass="file">field_decl_access_by_
b85c0 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 string.zig</cite></figcaption><p
b85e0 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
b8600 6e 20 63 6c 61 73 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
b8620 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
b8640 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
b8660 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
b8680 6e 3e 0a 3c 73 70 61 6e 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
b86a0 70 61 6e 20 63 6c 61 73 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
b86c0 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 61 6e k-kw">const</span>.Point.=.<span
b86e0 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>.{<
b8700 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a /span>.<span.class="line">....x:
b8720 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
b8740 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
b8760 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 75 33 32 3c ..y:.<span.class="tok-type">u32<
b8780 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
b87a0 22 3e 3c 2f 73 70 61 6e 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">...
b87c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">pub</span>
b87e0 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>
b8800 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f .z:.<span.class="tok-type">u32</
b8820 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"
b8840 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
b8860 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
b8880 22 3e 3c 2f 73 70 61 6e 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
b88a0 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
b88c0 70 61 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 65 6c 64 20 pan.class="tok-str">&quot;field.
b88e0 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c access.by.string&quot;</span>.{<
b8900 2f 73 70 61 6e 3e 0a 3c 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
b8920 70 61 6e 20 63 6c 61 73 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>.
b8940 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
b8960 61 6e 3e 0a 3c 73 70 61 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
b8980 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 20 3d 20 50 .class="tok-kw">var</span>.p.=.P
b89a0 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 oint{..x.=.<span.class="tok-numb
b89c0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">0</span>,..y.=.<span.class="
b89e0 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 73 70 61 6e 3e 0a 3c tok-number">0</span>.};</span>.<
b8a00 73 70 61 6e 20 63 6c 61 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.
b8a20 63 6c 61 73 73 3d 22 6c 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
b8a40 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 73 70 61 k-builtin">@field</span>(p,.<spa
b8a60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c n.class="tok-str">&quot;x&quot;<
b8a80 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
b8aa0 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 6c 61 73 73 3d r">4</span>;</span>.<span.class=
b8ac0 22 6c 69 6e 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
b8ae0 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 73 tin">@field</span>(p,.<span.clas
b8b00 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 3e s="tok-str">&quot;y&quot;</span>
b8b20 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 ).=.<span.class="tok-builtin">@f
b8b40 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ield</span>(p,.<span.class="tok-
b8b60 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 2b 20 3c 73 70 str">&quot;x&quot;</span>).+.<sp
b8b80 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>;<
b8ba0 2f 73 70 61 6e 3e 0a 3c 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
b8bc0 3e 0a 3c 73 70 61 6e 20 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
b8be0 6c 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(
b8c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 <span.class="tok-builtin">@field
b8c20 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 </span>(p,.<span.class="tok-str"
b8c40 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 >&quot;x&quot;</span>).==.<span.
b8c60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">4</span>);</s
b8c80 70 61 6e 3e 0a 3c 73 70 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
b8ca0 6e 20 63 6c 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
b8cc0 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 ct(<span.class="tok-builtin">@fi
b8ce0 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 eld</span>(p,.<span.class="tok-s
b8d00 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 tr">&quot;y&quot;</span>).==.<sp
b8d20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">5</span>);
b8d40 3c 2f 73 70 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
b8d60 61 6e 3e 0a 3c 73 70 61 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>.<
b8d80 73 70 61 6e 20 63 6c 61 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
b8da0 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="
b8dc0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 63 6c 20 61 63 63 65 73 73 20 62 79 20 73 74 tok-str">&quot;decl.access.by.st
b8de0 72 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 ring&quot;</span>.{</span>.<span
b8e00 20 63 6c 61 73 73 3d 22 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
b8e20 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
b8e40 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
b8e60 61 73 73 3d 22 6c 69 6e 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="
b8e80 6c 69 6e 65 22 3e 20 20 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
b8ea0 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
b8ec0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 k-builtin">@field</span>(Point,.
b8ee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 75 <span.class="tok-str">&quot;z&qu
b8f00 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ot;</span>).==.<span.class="tok-
b8f20 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.
b8f40 63 6c 61 73 73 3d 22 6c 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
b8f60 3d 22 6c 69 6e 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
b8f80 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e ltin">@field</span>(Point,.<span
b8fa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 75 6f 74 3b 3c 2f .class="tok-str">&quot;z&quot;</
b8fc0 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 72 span>).=.<span.class="tok-number
b8fe0 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">2</span>;</span>.<span.class="
b9000 6c 69 6e 65 22 3e 20 20 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
b9020 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
b9040 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 k-builtin">@field</span>(Point,.
b9060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 75 <span.class="tok-str">&quot;z&qu
b9080 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ot;</span>).==.<span.class="tok-
b90a0 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">2</span>);</span>.<span.
b90c0 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
b90e0 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
b9100 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
b9120 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"
b9140 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 69 65 6c 64 5f 64 65 63 6c 5f 61 63 63 65 >$.<kbd>zig.test.field_decl_acce
b9160 73 73 5f 62 79 5f 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ss_by_string.zig</kbd></span>.<s
b9180 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 3b pan.class="line">1/2.test.&quot;
b91a0 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 2e 2e 2e 20 field.access.by.string&quot;....
b91c0 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 32 2f 32 OK</span>.<span.class="line">2/2
b91e0 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 63 6c 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e .test.&quot;decl.access.by.strin
b9200 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
b9220 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 2f 73 70 61 ="line">All.2.tests.passed.</spa
b9240 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 0a 20 20 20 20 20 n>.</samp></pre></figure>.......
b9260 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 .........<h3.id="fieldParentPtr"
b9280 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 69 65 6c 64 50 61 72 ><a.href="nav.xhtml#toc-fieldPar
b92a0 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
b92c0 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
b92e0 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>
b9300 3c 73 70 61 6e 20 63 6c 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="
b9320 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
b9340 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
b9360 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
b9380 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
b93a0 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
b93c0 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"
b93e0 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
b9400 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
b9420 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
b9440 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>....
b9460 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.
b9480 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
b94a0 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>.......
b94c0 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
b94e0 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c ef="nav.xhtml#toc-floatCast">@fl
b9500 6f 61 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d oatCast</a>.<a.class="hdr".href=
b9520 22 23 66 6c 6f 61 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 "#floatCast">..</a></h3>........
b9540 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
b9560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 43 61 pan.class="tok-builtin">@floatCa
b9580 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 st</span>(<span.class="tok-kw">c
b95a0 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 70 61 6e 20 63 omptime</span>.DestType:.<span.c
b95c0 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 76 61 6c lass="tok-type">type</span>,.val
b95e0 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 ue:.<span.class="tok-kw">anytype
b9600 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c </span>).DestType</span></code><
b9620 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 20 66 72 /pre>.......<p>.......Convert.fr
b9640 6f 6d 20 6f 6e 65 20 66 6c 6f 61 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 om.one.float.type.to.another..Th
b9660 69 73 20 63 61 73 74 20 69 73 20 73 61 66 65 2c 20 62 75 74 20 6d 61 79 20 63 61 75 73 65 20 74 is.cast.is.safe,.but.may.cause.t
b9680 68 65 0a 20 20 20 20 20 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 74 6f 20 6c 6f 73 65 20 70 he.......numeric.value.to.lose.p
b96a0 72 65 63 69 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 recision........</p>............
b96c0 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 ...<h3.id="floatToInt"><a.href="
b96e0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 nav.xhtml#toc-floatToInt">@float
b9700 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 72 65 66 3d 22 23 ToInt</a>.<a.class="hdr".href="#
b9720 66 6c 6f 61 74 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c floatToInt">..</a></h3>........<
b9740 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
b9760 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 54 6f 49 an.class="tok-builtin">@floatToI
b9780 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 6b 77 22 3e 63 nt</span>(<span.class="tok-kw">c
b97a0 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 70 61 6e 20 63 omptime</span>.DestType:.<span.c
b97c0 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 66 6c 6f lass="tok-type">type</span>,.flo
b97e0 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 at:.<span.class="tok-kw">anytype
b9800 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c </span>).DestType</span></code><
b9820 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 74 /pre>.......<p>.......Converts.t
b9840 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f he.integer.part.of.a.floating.po
b9860 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 int.number.to.the.destination.ty
b9880 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 pe........</p>.......<p>.......I
b98a0 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 66 6c 6f 61 74 69 f.the.integer.part.of.the.floati
b98c0 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 63 61 6e 6e 6f 74 20 66 69 74 20 69 6e 20 74 68 ng.point.number.cannot.fit.in.th
b98e0 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 20 20 69 74 20 69 6e 76 e.destination.type,.......it.inv
b9900 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e okes.safety-checked.<a.href="#Un
b9920 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 defined-Behavior">Undefined.Beha
b9940 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 vior</a>........</p>.......<p>Se
b9960 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 69 6e e.also:</p><ul>.<li><a.href="#in
b9980 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c tToFloat">@intToFloat</a></li>.<
b99a0 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 66 72 61 6d /ul>................<h3.id="fram
b99c0 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 72 61 6d 65 22 e"><a.href="nav.xhtml#toc-frame"
b99e0 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 68 72 65 66 3d >@frame</a>.<a.class="hdr".href=
b9a00 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 20 3c 70 72 65 "#frame">..</a></h3>........<pre
b9a20 3e 3c 63 6f 64 65 3e 3c 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.
b9a40 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 2f 73 70 61 6e class="tok-builtin">@frame</span
b9a60 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 69 6e 22 3e 40 >().*<span.class="tok-builtin">@
b9a80 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 63 6f 64 65 3e Frame</span>(func)</span></code>
b9aa0 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
b9ac0 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 68 65 20 66 72 tion.returns.a.pointer.to.the.fr
b9ae0 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 68 69 73 20 74 ame.for.a.given.function..This.t
b9b00 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 54 79 70 65 2d ype.......can.be.<a.href="#Type-
b9b20 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 6f 64 65 3e 3c Coercion">coerced</a>.to.<code><
b9b40 73 70 61 6e 20 63 6c 61 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
b9b60 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 3c 2f 73 70 ok-kw">anyframe</span>-&gt;T</sp
b9b80 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 64 65 3e 3c 73 an></code>.and.......to.<code><s
b9ba0 70 61 6e 20 63 6c 61 73 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
b9bc0 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-kw">anyframe</span></span></co
b9be0 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
b9c00 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 72 65 74 75 72 ne">T</span></code>.is.the.retur
b9c20 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 6e 20 69 6e 20 n.type.......of.the.function.in.
b9c40 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 0a 20 20 20 20 scope........</p>.......<p>.....
b9c60 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 72 6b 20 61 20 ..This.function.does.not.mark.a.
b9c80 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 65 73 20 63 61 suspension.point,.but.it.does.ca
b9ca0 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 20 20 20 20 20 use.the.function.in.scope.......
b9cc0 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 63 2d 46 75 6e to.become.an.<a.href="#Async-Fun
b9ce0 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 0a 20 20 20 20 ctions">async.function</a>......
b9d00 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 46 72 61 ..</p>...............<h3.id="Fra
b9d20 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 72 61 6d 65 me"><a.href="nav.xhtml#toc-Frame
b9d40 22 3e 40 46 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 ">@Frame</a>.<a.class="hdr".href
b9d60 3d 22 23 46 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 ="#Frame">..</a></h3>........<pr
b9d80 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
b9da0 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
b9dc0 6e 3e 28 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 61 6e n>(func:.<span.class="tok-kw">an
b9de0 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ytype</span>).<span.class="tok-t
b9e00 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ype">type</span></span></code></
b9e20 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
b9e40 6f 6e 20 72 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 on.returns.the.frame.type.of.a.f
b9e60 75 6e 63 74 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 unction..This.works.for.<a.href=
b9e80 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f "#Async-Functions">Async.Functio
b9ea0 6e 73 3c 2f 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 ns</a>.......as.well.as.any.func
b9ec0 74 69 6f 6e 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 tion.without.a.specific.calling.
b9ee0 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e convention........</p>.......<p>
b9f00 0a 20 20 20 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 .......This.type.is.suitable.to.
b9f20 62 65 20 75 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 be.used.as.the.return.type.of.<a
b9f40 20 68 72 65 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 .href="#Async-and-Await">async</
b9f60 61 3e 20 77 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 a>.which.......allows.one.to,.fo
b9f80 72 20 65 78 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 r.example,.heap-allocate.an.asyn
b9fa0 63 20 66 75 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 c.function.frame:.......</p>....
b9fc0 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
b9fe0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 61 70 5f 61 g-cap"><cite.class="file">heap_a
ba000 6c 6c 6f 63 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 llocated_frame.zig</cite></figca
ba020 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
ba040 6e 65 22 3e 3c 73 70 61 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</
ba060 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
ba080 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
ba0a0 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
ba0c0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
ba0e0 73 70 61 6e 3e 0a 3c 73 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
ba100 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.
ba120 63 6c 61 73 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 class="tok-str">&quot;heap.alloc
ba140 61 74 65 64 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 ated.frame&quot;</span>.{</span>
ba160 0a 3c 73 70 61 6e 20 63 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
ba180 61 73 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 72 61 6d 65 20 ass="tok-kw">const</span>.frame.
ba1a0 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
ba1c0 3e 20 73 74 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 >.std.heap.page_allocator.create
ba1e0 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 46 72 61 6d (<span.class="tok-builtin">@Fram
ba200 65 3c 2f 73 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 e</span>(func));</span>.<span.cl
ba220 61 73 73 3d 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 ass="line">....frame.*.=.<span.c
ba240 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 66 75 6e 63 28 lass="tok-kw">async</span>.func(
ba260 29 3b 3c 2f 73 70 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">}</
ba280 73 70 61 6e 3e 0a 3c 73 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>
ba2a0 0a 3c 73 70 61 6e 20 63 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=
ba2c0 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="
ba2e0 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 61 73 tok-fn">func</span>().<span.clas
ba300 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
ba320 3e 0a 3c 73 70 61 6e 20 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
ba340 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 3c lass="tok-kw">suspend</span>.{}<
ba360 2f 73 70 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
ba380 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>
ba3a0 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
ba3c0 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
ba3e0 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 68 65 .class="line">$.<kbd>zig.test.he
ba400 61 70 5f 61 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 ap_allocated_frame.zig</kbd></sp
ba420 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.
ba440 26 71 75 6f 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 &quot;heap.allocated.frame&quot;
ba460 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"
ba480 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
ba4a0 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>..............
ba4c0 20 3c 68 33 20 69 64 3d 22 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 .<h3.id="frameAddress"><a.href="
ba4e0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 nav.xhtml#toc-frameAddress">@fra
ba500 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 meAddress</a>.<a.class="hdr".hre
ba520 66 3d 22 23 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 f="#frameAddress">..</a></h3>...
ba540 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
ba560 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 e"><span.class="tok-builtin">@fr
ba580 61 6d 65 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ameAddress</span>().<span.class=
ba5a0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f "tok-type">usize</span></span></
ba5c0 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
ba5e0 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 .function.returns.the.base.point
ba600 65 72 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 0a 20 er.of.the.current.stack.frame...
ba620 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 69 6d .....</p>.......<p>.......The.im
ba640 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 20 73 70 plications.of.this.are.target.sp
ba660 65 63 69 66 69 63 20 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 ecific.and.not.consistent.across
ba680 20 61 6c 6c 0a 20 20 20 20 20 20 70 6c 61 74 66 6f 72 6d 73 2e 20 54 68 65 20 66 72 61 6d 65 20 .all.......platforms..The.frame.
ba6a0 61 64 64 72 65 73 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 address.may.not.be.available.in.
ba6c0 72 65 6c 65 61 73 65 20 6d 6f 64 65 20 64 75 65 20 74 6f 0a 20 20 20 20 20 20 61 67 67 72 65 73 release.mode.due.to.......aggres
ba6e0 73 69 76 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 sive.optimizations........</p>..
ba700 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 .....<p>.......This.function.is.
ba720 6f 6e 6c 79 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 only.valid.within.function.scope
ba740 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
ba760 64 3d 22 66 72 61 6d 65 53 69 7a 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c d="frameSize"><a.href="nav.xhtml
ba780 23 74 6f 63 2d 66 72 61 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 20 3c #toc-frameSize">@frameSize</a>.<
ba7a0 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 53 69 7a 65 22 3e a.class="hdr".href="#frameSize">
ba7c0 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
ba7e0 70 61 6e 20 63 6c 61 73 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
ba800 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 29 20 3c k-builtin">@frameSize</span>().<
ba820 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
ba840 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e n></span></code></pre>.......<p>
ba860 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 .......This.is.the.same.as.<code
ba880 3e 3c 73 70 61 6e 20 63 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=
ba8a0 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 70 "tok-builtin">@sizeOf</span>(<sp
ba8c0 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
ba8e0 70 61 6e 3e 28 66 75 6e 63 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 pan>(func))</span></code>,.where
ba900 20 3c 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 75 6e 63 3c 2f .<code><span.class="line">func</
ba920 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6d 61 79 20 62 65 20 72 75 6e 74 69 6d span></code>.......may.be.runtim
ba940 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 70 3e 0a 20 20 e-known........</p>.......<p>...
ba960 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 75 ....This.function.is.typically.u
ba980 73 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d sed.in.conjunction.with.<a.href=
ba9a0 22 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 2e 0a 20 20 20 "#asyncCall">@asyncCall</a>.....
ba9c0 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 68 61 ...</p>...............<h3.id="ha
ba9e0 73 44 65 63 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 68 61 sDecl"><a.href="nav.xhtml#toc-ha
baa00 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 64 sDecl">@hasDecl</a>.<a.class="hd
baa20 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 0a r".href="#hasDecl">..</a></h3>..
baa40 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
baa60 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 68 ne"><span.class="tok-builtin">@h
baa80 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 6b asDecl</span>(<span.class="tok-k
baaa0 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 73 w">comptime</span>.Container:.<s
baac0 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>
baae0 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 3c ,.<span.class="tok-kw">comptime<
bab00 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 2d /span>.name:.[]<span.class="tok-
bab20 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
bab40 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="
bab60 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 6f tok-type">bool</span></span></co
bab80 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
baba0 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 72 s.whether.or.not.a.<a.href="#str
babc0 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 22 uct">struct</a>,.<a.href="#enum"
babe0 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 75 >enum</a>,.or.<a.href="#union">u
bac00 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 20 nion</a>.has.a.declaration......
bac20 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 6e .matching.<code><span.class="lin
bac40 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 70 e">name</span></code>........</p
bac60 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
bac80 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 68 s="zig-cap"><cite.class="file">h
baca0 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 70 asDecl.zig</cite></figcaption><p
bacc0 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
bace0 6e 20 63 6c 61 73 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
bad00 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
bad20 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
bad40 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
bad60 6e 3e 0a 3c 73 70 61 6e 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
bad80 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.=
bada0 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
badc0 6e 20 63 6c 61 73 73 3d 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
bade0 73 73 3d 22 6c 69 6e 65 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
bae00 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
bae20 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-kw">struct</span>.{</span>.<s
bae40 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 6e pan.class="line">....nope:.<span
bae60 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 73 .class="tok-type">i32</span>,</s
bae80 70 61 6e 3e 0a 3c 73 70 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>.
baea0 3c 73 70 61 6e 20 63 6c 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
baec0 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
baee0 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 73 ss="tok-kw">var</span>.blah.=.<s
baf00 70 61 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 75 pan.class="tok-str">&quot;xxx&qu
baf20 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ot;</span>;</span>.<span.class="
baf40 6c 69 6e 65 22 3e 20 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
baf60 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 6f onst</span>.hi.=.<span.class="to
baf80 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
bafa0 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
bafc0 61 73 73 3d 22 6c 69 6e 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="
bafe0 6c 69 6e 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<
bb000 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
bb020 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 6e ot;@hasDecl&quot;</span>.{</span
bb040 3e 0a 3c 73 70 61 6e 20 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
bb060 6c 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(
bb080 3c 73 70 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 <span.class="tok-builtin">@hasDe
bb0a0 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 2d cl</span>(Foo,.<span.class="tok-
bb0c0 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 3c str">&quot;blah&quot;</span>));<
bb0e0 2f 73 70 61 6e 3e 0a 3c 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
bb100 3e 0a 3c 73 70 61 6e 20 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
bb120 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 67 lass="tok-comment">//.Even.thoug
bb140 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 75 h.`hi`.is.private,.@hasDecl.retu
bb160 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 73 rns.true.because.this.test.is</s
bb180 70 61 6e 3e 3c 2f 73 70 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">.
bb1a0 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">//.
bb1c0 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 49 in.the.same.file.scope.as.Foo..I
bb1e0 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 20 t.would.return.false.if.Foo.was.
bb200 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 61 declared</span></span>.<span.cla
bb220 73 73 3d 22 6c 69 6e 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
bb240 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 3c omment">//.in.a.different.file.<
bb260 2f 73 70 61 6e 3e 3c 2f 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"
bb280 3e 20 20 20 20 3c 73 70 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
bb2a0 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
bb2c0 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e ltin">@hasDecl</span>(Foo,.<span
bb2e0 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;<
bb300 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
bb320 6e 65 22 3e 3c 2f 73 70 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">.
bb340 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">//.
bb360 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 6f @hasDecl.is.for.declarations;.no
bb380 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 6c t.fields.</span></span>.<span.cl
bb3a0 61 73 73 3d 22 6c 69 6e 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-
bb3c0 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 61 kw">try</span>.expect(!<span.cla
bb3e0 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 3e ss="tok-builtin">@hasDecl</span>
bb400 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 6f (Foo,.<span.class="tok-str">&quo
bb420 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 73 t;nope&quot;</span>));</span>.<s
bb440 70 61 6e 20 63 6c 61 73 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
bb460 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 70 ="tok-kw">try</span>.expect(!<sp
bb480 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 3c an.class="tok-builtin">@hasDecl<
bb4a0 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 72 /span>(Foo,.<span.class="tok-str
bb4c0 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 3b ">&quot;nope1234&quot;</span>));
bb4e0 3c 2f 73 70 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
bb500 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
bb520 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
bb540 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
bb560 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 68 n.class="line">$.<kbd>zig.test.h
bb580 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 6c asDecl.zig</kbd></span>.<span.cl
bb5a0 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 65 ass="line">1/1.test.&quot;@hasDe
bb5c0 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 73 cl&quot;....OK</span>.<span.clas
bb5e0 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
bb600 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>......
bb620 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
bb640 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 3e f="#hasField">@hasField</a></li>
bb660 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 61 .</ul>................<h3.id="ha
bb680 73 46 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 68 sField"><a.href="nav.xhtml#toc-h
bb6a0 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d asField">@hasField</a>.<a.class=
bb6c0 22 68 64 72 22 20 68 72 65 66 3d 22 23 68 61 73 46 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 "hdr".href="#hasField">..</a></h
bb6e0 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
bb700 3d 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
bb720 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">@hasField</span>(<span.class="
bb740 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 tok-kw">comptime</span>.Containe
bb760 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 74 79 70 65 3c 2f r:.<span.class="tok-type">type</
bb780 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 span>,.<span.class="tok-kw">comp
bb7a0 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 63 6c 61 73 73 3d time</span>.name:.[]<span.class=
bb7c0 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
bb7e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>).<span.cl
bb800 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 6e ass="tok-type">bool</span></span
bb820 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 ></code></pre>.......<p>Returns.
bb840 77 68 65 74 68 65 72 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 6f 66 20 61 20 73 74 72 75 whether.the.field.name.of.a.stru
bb860 63 74 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e 75 6d 20 65 78 69 73 74 73 2e 3c 2f 70 3e 0a 20 ct,.union,.or.enum.exists.</p>..
bb880 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 .....<p>.......The.result.is.a.c
bb8a0 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>
bb8c0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 .......<p>.......It.does.not.inc
bb8e0 6c 75 64 65 20 66 75 6e 63 74 69 6f 6e 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 6f 72 20 63 6f lude.functions,.variables,.or.co
bb900 6e 73 74 61 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 nstants........</p>.......<p>See
bb920 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 68 61 73 .also:</p><ul>.<li><a.href="#has
bb940 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 Decl">@hasDecl</a></li>.</ul>...
bb960 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6d 70 6f 72 74 22 3e 3c 61 20 .............<h3.id="import"><a.
bb980 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 6d 70 6f 72 74 22 3e 40 69 6d 70 href="nav.xhtml#toc-import">@imp
bb9a0 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6d ort</a>.<a.class="hdr".href="#im
bb9c0 70 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 port">..</a></h3>........<pre><c
bb9e0 6f 64 65 3e 3c 73 70 61 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
bba00 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>(
bba20 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
bba40 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 79 pan>.path:.[]<span.class="tok-ty
bba60 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u8</span>).<span.class="tok-
bba80 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><
bbaa0 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
bbac0 69 6f 6e 20 66 69 6e 64 73 20 61 20 7a 69 67 20 66 69 6c 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 ion.finds.a.zig.file.correspondi
bbae0 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 6e 65 22 3e 70 ng.to.<code><span.class="line">p
bbb00 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 64 64 73 20 69 74 20 74 6f ath</span></code>.and.adds.it.to
bbb20 20 74 68 65 20 62 75 69 6c 64 2c 0a 20 20 20 20 20 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 .the.build,.......if.it.is.not.a
bbb40 6c 72 65 61 64 79 20 61 64 64 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c lready.added........</p>.......<
bbb60 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 72 65 20 69 6d p>.......Zig.source.files.are.im
bbb80 70 6c 69 63 69 74 6c 79 20 73 74 72 75 63 74 73 2c 20 77 69 74 68 20 61 20 6e 61 6d 65 20 65 71 plicitly.structs,.with.a.name.eq
bbba0 75 61 6c 20 74 6f 20 74 68 65 20 66 69 6c 65 27 73 20 62 61 73 65 6e 61 6d 65 20 77 69 74 68 20 ual.to.the.file's.basename.with.
bbbc0 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 74 72 75 6e 63 61 74 65 64 2e 20 3c the.extension.......truncated..<
bbbe0 63 6f 64 65 3e 3c 73 70 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
bbc00 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>
bbc20 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 75 63 </span></code>.returns.the.struc
bbc40 74 20 74 79 70 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 66 69 6c 65 t.type.corresponding.to.the.file
bbc60 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 44 65 63 ........</p>.......<p>.......Dec
bbc80 6c 61 72 61 74 69 6f 6e 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c larations.which.have.the.<code><
bbca0 73 70 61 6e 20 63 6c 61 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
bbcc0 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 65 3e 20 ok-kw">pub</span></span></code>.
bbce0 6b 65 79 77 6f 72 64 20 6d 61 79 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 keyword.may.be.referenced.from.a
bbd00 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 68 61 .different.......source.file.tha
bbd20 6e 20 74 68 65 20 6f 6e 65 20 74 68 65 79 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 0a n.the.one.they.are.declared.in..
bbd40 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 ......</p>.......<p>.......<code
bbd60 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 6e 3e 3c ><span.class="line">path</span><
bbd80 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 6f 72 /code>.can.be.a.relative.path.or
bbda0 20 69 74 20 63 61 6e 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 70 61 63 6b 61 67 65 .it.can.be.the.name.of.a.package
bbdc0 2e 0a 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 ........If.it.is.a.relative.path
bbde0 2c 20 69 74 20 69 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 74 68 61 ,.it.is.relative.to.the.file.tha
bbe00 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 t.contains.the.<code><span.class
bbe20 3d 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
bbe40 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 ">@import</span></span></code>..
bbe60 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .....function.call........</p>..
bbe80 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 63 .....<p>.......The.following.pac
bbea0 6b 61 67 65 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 20 20 kages.are.always.available:.....
bbec0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ..</p>.......<ul>...........<li>
bbee0 3c 63 6f 64 65 3e 3c 73 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
bbf00 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
bbf20 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
bbf40 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 20 2d 20 d&quot;</span>)</span></code>.-.
bbf60 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 Zig.Standard.Library</li>.......
bbf80 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"
bbfa0 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
bbfc0 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">
bbfe0 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 &quot;builtin&quot;</span>)</spa
bc000 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 54 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 69 6e 66 6f n></code>.-.Target-specific.info
bc020 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e rmation...............The.comman
bc040 64 20 3c 63 6f 64 65 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 2d 2d 73 68 6f 77 2d 62 75 69 d.<code>zig.build-exe.--show-bui
bc060 6c 74 69 6e 3c 2f 63 6f 64 65 3e 20 6f 75 74 70 75 74 73 20 74 68 65 20 73 6f 75 72 63 65 20 74 ltin</code>.outputs.the.source.t
bc080 6f 20 73 74 64 6f 75 74 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 o.stdout.for.reference..........
bc0a0 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 3c 70 3e 53 65 65 ..</li>.......</ul>.......<p>See
bc0c0 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 43 6f 6d .also:</p><ul>.<li><a.href="#Com
bc0e0 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 72 69 61 62 6c 65 pile-Variables">Compile.Variable
bc100 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 65 6d 62 65 64 46 69 s</a></li>.<li><a.href="#embedFi
bc120 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 le">@embedFile</a></li>.</ul>...
bc140 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 43 61 73 74 22 3e 3c 61 .............<h3.id="intCast"><a
bc160 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 6e 74 43 61 73 74 22 3e 40 69 .href="nav.xhtml#toc-intCast">@i
bc180 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 65 66 3d 22 ntCast</a>.<a.class="hdr".href="
bc1a0 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 20 3c 70 72 #intCast">..</a></h3>........<pr
bc1c0 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
bc1e0 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
bc200 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
bc220 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=
bc240 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 20 3c 73 70 "tok-type">type</span>,.int:.<sp
bc260 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>
bc280 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 65 3e 0a 20 ).DestType</span></code></pre>..
bc2a0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 .....<p>.......Converts.an.integ
bc2c0 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 6b 65 65 70 er.to.another.integer.while.keep
bc2e0 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 2e 0a 20 20 ing.the.same.numerical.value....
bc300 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 6e 75 6d 62 ....Attempting.to.convert.a.numb
bc320 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 74 68 65 20 er.which.is.out.of.range.of.the.
bc340 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 20 20 20 20 destination.type.results.in.....
bc360 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 23 55 6e 64 ..safety-protected.<a.href="#Und
bc380 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 efined-Behavior">Undefined.Behav
bc3a0 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ior</a>........</p>.......<p>...
bc3c0 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">
bc3e0 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 T</span></code>.is.<code><span.c
bc400 6c 61 73 73 3d 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
bc420 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 3c 2f 63 e">comptime_int</span></span></c
bc440 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 69 73 20 69 73 20 73 65 6d 61 6e 74 69 ode>,.......then.this.is.semanti
bc460 63 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 79 cally.equivalent.to.<a.href="#Ty
bc480 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 2e 0a pe-Coercion">Type.Coercion</a>..
bc4a0 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=
bc4c0 22 69 6e 74 54 6f 45 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 "intToEnum"><a.href="nav.xhtml#t
bc4e0 6f 63 2d 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 3c 61 20 oc-intToEnum">@intToEnum</a>.<a.
bc500 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e c2 a7 class="hdr".href="#intToEnum">..
bc520 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
bc540 6e 20 63 6c 61 73 73 3d 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-
bc560 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e builtin">@intToEnum</span>(<span
bc580 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>.
bc5a0 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 2d 74 79 70 65 22 DestType:.<span.class="tok-type"
bc5c0 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 >type</span>,.integer:.<span.cla
bc5e0 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
bc600 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>.......<
bc620 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 69 6e 74 p>.......Converts.an.integer.int
bc640 6f 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 76 61 o.an.<a.href="#enum">enum</a>.va
bc660 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 lue........</p>.......<p>.......
bc680 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 Attempting.to.convert.an.integer
bc6a0 20 77 68 69 63 68 20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 76 61 6c 75 65 20 69 6e 20 74 68 .which.represents.no.value.in.th
bc6c0 65 20 63 68 6f 73 65 6e 20 65 6e 75 6d 20 74 79 70 65 20 69 6e 76 6f 6b 65 73 0a 20 20 20 20 20 e.chosen.enum.type.invokes......
bc6e0 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 .safety-checked.<a.href="#Undefi
bc700 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 ned-Behavior">Undefined.Behavior
bc720 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c </a>........</p>.......<p>See.al
bc740 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 6e 75 6d 54 6f so:</p><ul>.<li><a.href="#enumTo
bc760 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a Int">@enumToInt</a></li>.</ul>..
bc780 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f 45 72 72 6f 72 ..............<h3.id="intToError
bc7a0 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 6e 74 54 6f 45 72 "><a.href="nav.xhtml#toc-intToEr
bc7c0 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 68 ror">@intToError</a>.<a.class="h
bc7e0 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 68 dr".href="#intToError">..</a></h
bc800 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
bc820 3d 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
bc840 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 2e ">@intToError</span>(value:.std.
bc860 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 3d meta.Int(.unsigned,.<span.class=
bc880 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 70 "tok-builtin">@sizeOf</span>(<sp
bc8a0 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
bc8c0 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 3e an>).*.<span.class="tok-number">
bc8e0 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 65 8</span>)).<span.class="tok-type
bc900 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 3c ">anyerror</span></span></code><
bc920 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 66 /pre>.......<p>.......Converts.f
bc940 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 6f rom.the.integer.representation.o
bc960 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 6c f.an.error.into.<a.href="#The-Gl
bc980 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
bc9a0 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 20 .Set</a>.type........</p>.......
bc9c0 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 6d <p>.......It.is.generally.recomm
bc9e0 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 20 ended.to.avoid.this.......cast,.
bca00 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 66 as.the.integer.representation.of
bca20 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 73 .an.error.is.not.stable.across.s
bca40 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 20 ource.code.changes........</p>..
bca60 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 6e .....<p>.......Attempting.to.con
bca80 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 6f vert.an.integer.that.does.not.co
bcaa0 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 6e rrespond.to.any.error.results.in
bcac0 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 3d .......safety-protected.<a.href=
bcae0 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 "#Undefined-Behavior">Undefined.
bcb00 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c Behavior</a>........</p>.......<
bcb20 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=
bcb40 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 6c "#errorToInt">@errorToInt</a></l
bcb60 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="
bcb80 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 intToFloat"><a.href="nav.xhtml#t
bcba0 6f 63 2d 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 3c oc-intToFloat">@intToFloat</a>.<
bcbc0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 a.class="hdr".href="#intToFloat"
bcbe0 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><
bcc00 73 70 61 6e 20 63 6c 61 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
bcc20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 3c ok-builtin">@intToFloat</span>(<
bcc40 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
bcc60 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 2d 74 an>.DestType:.<span.class="tok-t
bcc80 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 ype">type</span>,.int:.<span.cla
bcca0 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
bccc0 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>.......<
bcce0 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 p>.......Converts.an.integer.to.
bcd00 74 68 65 20 63 6c 6f 73 65 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 72 65 the.closest.floating.point.repre
bcd20 73 65 6e 74 61 74 69 6f 6e 2e 20 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 sentation..To.convert.the.other.
bcd40 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 way,.use.<a.href="#floatToInt">@
bcd60 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 77 floatToInt</a>..This.cast.is.alw
bcd80 61 79 73 20 73 61 66 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 ays.safe........</p>............
bcda0 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 ...<h3.id="intToPtr"><a.href="na
bcdc0 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 6e 74 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c v.xhtml#toc-intToPtr">@intToPtr<
bcde0 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 54 6f 50 /a>.<a.class="hdr".href="#intToP
bce00 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 tr">..</a></h3>........<pre><cod
bce20 65 3e 3c 73 70 61 6e 20 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
bce40 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 6e 3e 28 ="tok-builtin">@intToPtr</span>(
bce60 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
bce80 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 2d pan>.DestType:.<span.class="tok-
bcea0 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 64 64 72 65 73 73 3a 20 3c 73 70 61 type">type</span>,.address:.<spa
bcec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-type">usize</span>)
bcee0 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 65 3e 0a 20 20 .DestType</span></code></pre>...
bcf00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 ....<p>.......Converts.an.intege
bcf20 72 20 74 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 r.to.a.<a.href="#Pointers">point
bcf40 65 72 3c 2f 61 3e 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 er</a>..To.convert.the.other.way
bcf60 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f ,.use.<a.href="#ptrToInt">@ptrTo
bcf80 49 6e 74 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 Int</a>........</p>.......<p>...
bcfa0 20 20 20 20 49 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 74 ....If.the.destination.pointer.t
bcfc0 79 70 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 73 20 7a 65 72 6f 20 ype.does.not.allow.address.zero.
bcfe0 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 61 64 64 and.<code><span.class="line">add
bd000 72 65 73 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 7a 65 72 6f ress</span></code>.......is.zero
bd020 2c 20 74 68 69 73 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 ,.this.invokes.safety-checked.<a
bd040 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 .href="#Undefined-Behavior">Unde
bd060 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 fined.Behavior</a>........</p>..
bd080 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 61 78 69 6d 75 6d 22 3e 3c 61 .............<h3.id="maximum"><a
bd0a0 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6d 61 78 69 6d 75 6d 22 3e 40 6d .href="nav.xhtml#toc-maximum">@m
bd0c0 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 68 72 65 66 3d 22 aximum</a>.<a.class="hdr".href="
bd0e0 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 20 20 20 3c 70 72 #maximum">..</a></h3>........<pr
bd100 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
bd120 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 6d 75 6d 3c 2f 73 .class="tok-builtin">@maximum</s
bd140 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 64 65 3e pan>(a:.T,.b:.T).T</span></code>
bd160 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 </pre>.......<p>.......Returns.t
bd180 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 3c 73 70 61 6e 20 he.maximum.value.of.<code><span.
bd1a0 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
bd1c0 20 3c 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
bd1e0 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 74 73 20 n></code>..This.builtin.accepts.
bd200 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 76 65 63 74 6f 72 73 20 6f 66 integers,.floats,.and.vectors.of
bd220 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 74 68 65 .either..In.the.latter.case,.the
bd240 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 6e 74 20 .operation.is.performed.element.
bd260 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 wise........</p>.......<p>......
bd280 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 69 66 .NaNs.are.handled.as.follows:.if
bd2a0 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f 66 20 61 20 28 70 61 69 72 77 .one.of.the.operands.of.a.(pairw
bd2c0 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 65 72 ise).operation.is.NaN,.the.other
bd2e0 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 62 6f 74 68 20 6f 70 .operand.is.returned..If.both.op
bd300 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e 65 64 2e erands.are.NaN,.NaN.is.returned.
bd320 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:</
bd340 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 75 6d 22 3e 40 6d p><ul>.<li><a.href="#minimum">@m
bd360 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 66 3d 22 23 56 65 inimum</a></li>.<li><a.href="#Ve
bd380 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 ctors">Vectors</a></li>.</ul>...
bd3a0 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 79 22 3e 3c 61 20 .............<h3.id="memcpy"><a.
bd3c0 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6d 65 6d 63 70 79 22 3e 40 6d 65 6d href="nav.xhtml#toc-memcpy">@mem
bd3e0 63 70 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 cpy</a>.<a.class="hdr".href="#me
bd400 6d 63 70 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 mcpy">..</a></h3>........<pre><c
bd420 6f 64 65 3e 3c 73 70 61 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
bd440 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@memcpy</span>(
bd460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 <span.class="tok-kw">noalias</sp
bd480 61 6e 3e 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 an>.dest:.[*]<span.class="tok-ty
bd4a0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u8</span>,.<span.class="tok-
bd4c0 6b 77 22 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 kw">noalias</span>.source:.[*]<s
bd4e0 70 61 6e 20 63 6c 61 73 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>.
bd500 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>
bd520 2c 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 ,.byte_count:.<span.class="tok-t
bd540 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 3c 2f 63 6f 64 65 3e ype">usize</span>)</span></code>
bd560 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
bd580 74 69 6f 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 tion.copies.bytes.from.one.regio
bd5a0 6e 20 6f 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 n.of.memory.to.another..<code><s
bd5c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">dest</span></co
bd5e0 64 65 3e 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 de>.and...........<code><span.cl
bd600 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6f 75 72 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ass="line">source</span></code>.
bd620 61 72 65 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 are.both.pointers.and.must.not.o
bd640 76 65 72 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 verlap........</p>.......<p>....
bd660 20 20 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 ...This.function.is.a.low.level.
bd680 69 6e 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 intrinsic.with.no.safety.mechani
bd6a0 73 6d 73 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 sms..Most.code.......should.not.
bd6c0 75 73 65 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 use.this.function,.instead.using
bd6e0 20 73 6f 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 .something.like.this:.......</p>
bd700 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
bd720 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 ine"><span.class="tok-kw">for</s
bd740 70 61 6e 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 pan>.(source[<span.class="tok-nu
bd760 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 74 5d 29 20 7c 62 2c mber">0</span>..byte_count]).|b,
bd780 20 69 7c 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 .i|.dest[i].=.b;</span></code></
bd7a0 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 6f 70 74 69 6d 69 7a pre>.......<p>.......The.optimiz
bd7c0 65 72 20 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 er.is.intelligent.enough.to.turn
bd7e0 20 74 68 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 .the.above.snippet.into.a.memcpy
bd800 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 72 65 20 69 73 20 61 ........</p>.......<p>There.is.a
bd820 6c 73 6f 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 lso.a.standard.library.function.
bd840 66 6f 72 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 for.this:</p>.......<pre><code><
bd860 73 70 61 6e 20 63 6c 61 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
bd880 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.mem.=.<span.
bd8a0 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
bd8c0 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
bd8e0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 td&quot;</span>).mem;</span>.<sp
bd900 61 6e 20 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 an.class="line">mem.copy(<span.c
bd920 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 64 65 73 74 5b lass="tok-type">u8</span>,.dest[
bd940 3c 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
bd960 3e 2e 2e 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 >..byte_count],.source[<span.cla
bd980 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 62 79 74 65 5f 63 ss="tok-number">0</span>..byte_c
bd9a0 6f 75 6e 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 ount]);</span></code></pre>.....
bd9c0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 73 65 74 22 3e 3c 61 20 68 72 65 ..........<h3.id="memset"><a.hre
bd9e0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6d 65 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 f="nav.xhtml#toc-memset">@memset
bda00 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 73 65 </a>.<a.class="hdr".href="#memse
bda20 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 t">..</a></h3>........<pre><code
bda40 3e 3c 73 70 61 6e 20 63 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=
bda60 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 73 65 74 3c 2f 73 70 61 6e 3e 28 64 65 73 "tok-builtin">@memset</span>(des
bda80 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 3e 75 38 3c t:.[*]<span.class="tok-type">u8<
bdaa0 2f 73 70 61 6e 3e 2c 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
bdac0 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 ">u8</span>,.byte_count:.<span.c
bdae0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 lass="tok-type">usize</span>)</s
bdb00 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>.....
bdb20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 61 20 72 65 67 69 6f 6e 20 6f 66 ..This.function.sets.a.region.of
bdb40 20 6d 65 6d 6f 72 79 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 .memory.to.<code><span.class="li
bdb60 6e 65 22 3e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ne">c</span></code>..<code><span
bdb80 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>
bdba0 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .is.a.pointer........</p>.......
bdbc0 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 61 20 6c 6f 77 <p>.......This.function.is.a.low
bdbe0 20 6c 65 76 65 6c 20 69 6e 74 72 69 6e 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 .level.intrinsic.with.no.safety.
bdc00 6d 65 63 68 61 6e 69 73 6d 73 2e 20 4d 6f 73 74 0a 20 20 20 20 20 20 63 6f 64 65 20 73 68 6f 75 mechanisms..Most.......code.shou
bdc20 6c 64 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 ld.not.use.this.function,.instea
bdc40 64 20 75 73 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 d.using.something.like.this:....
bdc60 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...</p>.......<pre><code><span.c
bdc80 6c 61 73 73 3d 22 6c 69 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"
bdca0 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 64 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >for</span>.(dest[<span.class="t
bdcc0 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 74 5d ok-number">0</span>..byte_count]
bdce0 29 20 7c 2a 62 7c 20 62 2e 2a 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ).|*b|.b.*.=.c;</span></code></p
bdd00 72 65 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 re>.......<p>.......The.optimize
bdd20 72 20 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 r.is.intelligent.enough.to.turn.
bdd40 74 68 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 73 65 74 2e the.above.snippet.into.a.memset.
bdd60 0a 20 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 .......</p>.......<p>There.is.al
bdd80 73 6f 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 so.a.standard.library.function.f
bdda0 6f 72 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 or.this:</p>.......<pre><code><s
bddc0 70 61 6e 20 63 6c 61 73 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
bdde0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.mem.=.<span.c
bde00 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
bde20 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
bde40 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 d&quot;</span>).mem;</span>.<spa
bde60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 73 65 74 28 3c 73 70 61 6e 20 63 6c 61 n.class="line">mem.set(<span.cla
bde80 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 64 65 73 74 2c 20 63 ss="tok-type">u8</span>,.dest,.c
bdea0 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 0a 20 );</span></code></pre>..........
bdec0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 69 6e 69 6d 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e .....<h3.id="minimum"><a.href="n
bdee0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6d 69 6e 69 6d 75 6d 22 3e 40 6d 69 6e 69 6d 75 6d 3c 2f av.xhtml#toc-minimum">@minimum</
bdf00 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 69 6e 69 6d 75 6d a>.<a.class="hdr".href="#minimum
bdf20 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>
bdf40 3c 73 70 61 6e 20 63 6c 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="
bdf60 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 69 6e 69 6d 75 6d 3c 2f 73 70 61 6e 3e 28 61 3a 20 tok-builtin">@minimum</span>(a:.
bdf80 54 2c 20 62 3a 20 54 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 T,.b:.T).T</span></code></pre>..
bdfa0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6d 69 6e 69 6d .....<p>.......Returns.the.minim
bdfc0 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c um.value.of.<code><span.class="l
bdfe0 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 3e 3c ine">a</span></code>.and.<code><
be000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">b</span></code
be020 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 61 63 63 65 70 74 73 20 69 6e 74 65 67 65 72 73 >..This.builtin.accepts.integers
be040 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 76 65 63 74 6f 72 73 20 6f 66 20 65 69 74 68 65 72 2e ,.floats,.and.vectors.of.either.
be060 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 74 68 65 20 6f 70 65 72 61 74 69 .In.the.latter.case,.the.operati
be080 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 6e 74 20 77 69 73 65 2e 0a 20 20 on.is.performed.element.wise....
be0a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 61 4e 73 20 61 72 ....</p>.......<p>.......NaNs.ar
be0c0 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 69 66 20 6f 6e 65 20 6f 66 20 e.handled.as.follows:.if.one.of.
be0e0 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f 66 20 61 20 28 70 61 69 72 77 69 73 65 29 20 6f 70 65 the.operands.of.a.(pairwise).ope
be100 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 65 72 20 6f 70 65 72 61 6e 64 ration.is.NaN,.the.other.operand
be120 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 62 6f 74 68 20 6f 70 65 72 61 6e 64 73 20 61 .is.returned..If.both.operands.a
be140 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 3c re.NaN,.NaN.is.returned........<
be160 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>.<
be180 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 61 78 69 6d 75 6d 22 3e 40 6d 61 78 69 6d 75 6d 3c 2f li><a.href="#maximum">@maximum</
be1a0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 a></li>.<li><a.href="#Vectors">V
be1c0 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 ectors</a></li>.</ul>...........
be1e0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 3c 61 20 .....<h3.id="wasmMemorySize"><a.
be200 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 53 69 href="nav.xhtml#toc-wasmMemorySi
be220 7a 65 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ze">@wasmMemorySize</a>.<a.class
be240 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e c2 a7 ="hdr".href="#wasmMemorySize">..
be260 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
be280 6e 20 63 6c 61 73 73 3d 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-
be2a0 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 builtin">@wasmMemorySize</span>(
be2c0 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 index:.<span.class="tok-type">u3
be2e0 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 2</span>).<span.class="tok-type"
be300 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a >u32</span></span></code></pre>.
be320 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 ......<p>.......This.function.re
be340 74 75 72 6e 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d 6f 72 turns.the.size.of.the.Wasm.memor
be360 79 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 y.identified.by.<code><span.clas
be380 73 3d 22 6c 69 6e 65 22 3e 69 6e 64 65 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 0a s="line">index</span></code>.as.
be3a0 20 20 20 20 20 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 69 6e 20 75 6e 69 74 73 ......an.unsigned.value.in.units
be3c0 20 6f 66 20 57 61 73 6d 20 70 61 67 65 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 61 63 68 20 57 .of.Wasm.pages..Note.that.each.W
be3e0 61 73 6d 20 70 61 67 65 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 asm.page.is.64KB.in.size........
be400 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
be420 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 69 6e 73 69 63 20 77 69 74 68 on.is.a.low.level.intrinsic.with
be440 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 20 75 73 75 61 6c 6c 79 20 75 73 .no.safety.mechanisms.usually.us
be460 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 20 20 20 20 20 64 65 73 69 67 6e 65 eful.for.allocator.......designe
be480 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 6f 20 75 6e 6c 65 73 73 20 79 6f 75 rs.targeting.Wasm..So.unless.you
be4a0 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 6c 6c 6f 63 61 74 6f 72 20 66 72 6f .are.writing.a.new.allocator.fro
be4c0 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 0a 20 20 20 20 20 20 m.scratch,.you.should.use.......
be4e0 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 something.like.<code><span.class
be500 3d 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
be520 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
be540 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 68 k-str">&quot;std&quot;</span>).h
be560 65 61 70 2e 57 61 73 6d 50 61 67 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f eap.WasmPageAllocator</span></co
be580 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 de>........</p>.......<p>See.als
be5a0 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d o:</p><ul>.<li><a.href="#wasmMem
be5c0 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e 3c 2f 6c 69 oryGrow">@wasmMemoryGrow</a></li
be5e0 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 >.</ul>................<h3.id="w
be600 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d asmMemoryGrow"><a.href="nav.xhtm
be620 6c 23 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 l#toc-wasmMemoryGrow">@wasmMemor
be640 79 47 72 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 yGrow</a>.<a.class="hdr".href="#
be660 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 wasmMemoryGrow">..</a></h3>.....
be680 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"
be6a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d ><span.class="tok-builtin">@wasm
be6c0 4d 65 6d 6f 72 79 47 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 MemoryGrow</span>(index:.<span.c
be6e0 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 64 65 6c 74 lass="tok-type">u32</span>,.delt
be700 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 a:.<span.class="tok-type">u32</s
be720 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
be740 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>.....
be760 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 63 72 65 61 ..<p>.......This.function.increa
be780 73 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d 6f 72 79 20 ses.the.size.of.the.Wasm.memory.
be7a0 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d identified.by.<code><span.class=
be7c0 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 62 79 0a 20 20 "line">index</span></code>.by...
be7e0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6c ....<code><span.class="line">del
be800 74 61 3c 2f 73 70 61 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 ta</span></code>.in.units.of.uns
be820 69 67 6e 65 64 20 6e 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 igned.number.of.Wasm.pages..Note
be840 20 74 68 61 74 20 65 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 .that.each.Wasm.page.......is.64
be860 4b 42 20 69 6e 20 73 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 KB.in.size..On.success,.returns.
be880 70 72 65 76 69 6f 75 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 previous.memory.size;.on.failure
be8a0 2c 20 69 66 20 74 68 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 ,.if.the.allocation.fails,......
be8c0 20 72 65 74 75 72 6e 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 .returns.-1........</p>.......<p
be8e0 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 61 20 6c 6f 77 20 6c >.......This.function.is.a.low.l
be900 65 76 65 6c 20 69 6e 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 evel.intrinsic.with.no.safety.me
be920 63 68 61 6e 69 73 6d 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 chanisms.usually.useful.for.allo
be940 63 61 74 6f 72 0a 20 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 cator.......designers.targeting.
be960 57 61 73 6d 2e 20 53 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 Wasm..So.unless.you.are.writing.
be980 61 20 6e 65 77 20 61 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 a.new.allocator.from.scratch,.yo
be9a0 75 20 73 68 6f 75 6c 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 u.should.use.......something.lik
be9c0 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
be9e0 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
bea00 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;
bea20 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 68 65 61 70 2e 57 61 73 6d 50 61 67 65 41 std&quot;</span>).heap.WasmPageA
bea40 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f llocator</span></code>........</
bea60 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
bea80 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">
beaa0 77 61 73 6d 4d 65 6d 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 wasmMemoryGrow.zig</cite></figca
beac0 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
beae0 6e 65 22 3e 3c 73 70 61 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</
beb00 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
beb20 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
beb40 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
beb60 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
beb80 70 61 6e 20 63 6c 61 73 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>.
beba0 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 native_arch.=.<span.class="tok-b
bebc0 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
bebe0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b ss="tok-str">&quot;builtin&quot;
bec00 3c 2f 73 70 61 6e 3e 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 3b 3c 2f 73 70 61 6e 3e </span>).target.cpu.arch;</span>
bec20 0a 3c 73 70 61 6e 20 63 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=
bec40 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
bec60 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.
bec80 63 6c 61 73 73 3d 22 6c 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
beca0 3d 22 6c 69 6e 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
becc0 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">&
bece0 71 75 6f 74 3b 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 26 71 75 6f 74 3b 3c 2f 73 70 61 6e quot;@wasmMemoryGrow&quot;</span
bed00 3e 20 7b 3c 2f 73 70 61 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">..
bed20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">if</span>
bed40 20 28 6e 61 74 69 76 65 5f 61 72 63 68 20 21 3d 20 2e 77 61 73 6d 33 32 29 20 3c 73 70 61 6e 20 .(native_arch.!=..wasm32).<span.
bed60 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
bed80 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 53 an.class="tok-kw">error</span>.S
beda0 6b 69 70 5a 69 67 54 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 kipZigTest;</span>.<span.class="
bedc0 6c 69 6e 65 22 3e 3c 2f 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"
bede0 3e 20 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
bee00 70 61 6e 3e 20 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pan>.prev.=.<span.class="tok-bui
bee20 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 ltin">@wasmMemorySize</span>(<sp
bee40 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>);
bee60 3c 2f 73 70 61 6e 3e 0a 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">....<
bee80 73 70 61 6e 20 63 6c 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
beea0 78 70 65 63 74 28 70 72 65 76 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 xpect(prev.==.<span.class="tok-b
beec0 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 73 70 61 6e 3e 28 3c uiltin">@wasmMemoryGrow</span>(<
beee0 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>
bef00 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 ,.<span.class="tok-number">1</sp
bef20 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"
bef40 3e 20 20 20 20 3c 73 70 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
bef60 70 61 6e 3e 20 65 78 70 65 63 74 28 70 72 65 76 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.expect(prev.+.<span.class="
bef80 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c tok-number">1</span>.==.<span.cl
befa0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a ass="tok-builtin">@wasmMemorySiz
befc0 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 e</span>(<span.class="tok-number
befe0 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">0</span>));</span>.<span.class
bf000 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
bf020 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=
bf040 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
bf060 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
bf080 62 64 3e 7a 69 67 20 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 bd>zig.test.wasmMemoryGrow.zig</
bf0a0 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
bf0c0 2f 31 20 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 /1.test.&quot;@wasmMemoryGrow&qu
bf0e0 6f 74 3b 2e 2e 2e 20 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 ot;....test.&quot;@wasmMemoryGro
bf100 77 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 61 6e 20 63 6c 61 w&quot;....SKIP</span>.<span.cla
bf120 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 6e 20 63 6c 61 73 ss="line">SKIP</span>.<span.clas
bf140 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 65 64 3b 20 30 20 s="line">0.passed;.1.skipped;.0.
bf160 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 65 3e 3c 2f 66 69 failed.</span>.</samp></pre></fi
bf180 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e gure>.......<p>See.also:</p><ul>
bf1a0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 40 .<li><a.href="#wasmMemorySize">@
bf1c0 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 wasmMemorySize</a></li>.</ul>...
bf1e0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 6f 64 22 3e 3c 61 20 68 72 65 .............<h3.id="mod"><a.hre
bf200 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 3c f="nav.xhtml#toc-mod">@mod</a>.<
bf220 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e c2 a7 3c 2f 61 3e a.class="hdr".href="#mod">..</a>
bf240 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
bf260 61 73 73 3d 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
bf280 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 tin">@mod</span>(numerator:.T,.d
bf2a0 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f enominator:.T).T</span></code></
bf2c0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 6f 64 75 6c 75 73 20 64 69 76 pre>.......<p>.......Modulus.div
bf2e0 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 ision..For.unsigned.integers.thi
bf300 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 s.is.the.same.as.......<code><sp
bf320 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f an.class="line">numerator.%.deno
bf340 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 minator</span></code>..Caller.gu
bf360 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 arantees.<code><span.class="line
bf380 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">denominator.&gt;.<span.class="
bf3a0 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 3c 2f 63 6f 64 tok-number">0</span></span></cod
bf3c0 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 e>........</p>.......<ul>.......
bf3e0 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"
bf400 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 6f 64 3c ><span.class="tok-builtin">@mod<
bf420 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>(-<span.class="tok-number"
bf440 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >5</span>,.<span.class="tok-numb
bf460 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">3</span>).==.<span.class="to
bf480 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-number">1</span></span></code>
bf4a0 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.
bf4c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 class="line">(<span.class="tok-b
bf4e0 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 62 29 20 2a uiltin">@divFloor</span>(a,.b).*
bf500 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e .b).+.<span.class="tok-builtin">
bf520 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 3e 3c 2f 63 @mod</span>(a,.b).==.a</span></c
bf540 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 3e 46 ode></li>.......</ul>.......<p>F
bf560 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 20 65 72 or.a.function.that.returns.an.er
bf580 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ror.code,.see.<code><span.class=
bf5a0 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"
bf5c0 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
bf5e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 -str">&quot;std&quot;</span>).ma
bf600 74 68 2e 6d 6f 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 th.mod</span></code>.</p>.......
bf620 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
bf640 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 ="#rem">@rem</a></li>.</ul>.....
bf660 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c ...........<h3.id="mulWithOverfl
bf680 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6d 75 6c 57 69 ow"><a.href="nav.xhtml#toc-mulWi
bf6a0 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e thOverflow">@mulWithOverflow</a>
bf6c0 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 68 4f 76 .<a.class="hdr".href="#mulWithOv
bf6e0 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 72 65 3e erflow">..</a></h3>........<pre>
bf700 3c 63 6f 64 65 3e 3c 73 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
bf720 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 65 72 66 lass="tok-builtin">@mulWithOverf
bf740 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 77 22 3e low</span>(<span.class="tok-kw">
bf760 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 comptime</span>.T:.<span.class="
bf780 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 3a 20 tok-type">type</span>,.a:.T,.b:.
bf7a0 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 6f 6b 2d T,.result:.*T).<span.class="tok-
bf7c0 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 3c type">bool</span></span></code><
bf7e0 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c /pre>.......<p>.......Performs.<
bf800 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 74 2e 2a code><span.class="line">result.*
bf820 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 65 72 66 .=.a.*.b</span></code>..If.overf
bf840 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 20 20 20 low.or.underflow.occurs,........
bf860 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 20 69 6e ...stores.the.overflowed.bits.in
bf880 20 3c 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 74 .<code><span.class="line">result
bf8a0 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 6f 64 65 </span></code>.and.returns.<code
bf8c0 3e 3c 73 70 61 6e 20 63 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=
bf8e0 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
bf900 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 20 6f 76 ode>....................If.no.ov
bf920 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 65 74 75 erflow.or.underflow.occurs,.retu
bf940 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
bf960 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>
bf980 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 </span></code>........</p>......
bf9a0 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 6e 69 63 22 3e 3c 61 ...............<h3.id="panic"><a
bf9c0 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 70 61 6e 69 63 22 3e 40 70 61 6e .href="nav.xhtml#toc-panic">@pan
bf9e0 69 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 6e ic</a>.<a.class="hdr".href="#pan
bfa00 69 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ic">..</a></h3>........<pre><cod
bfa20 65 3e 3c 73 70 61 6e 20 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
bfa40 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 6d 65 73 ="tok-builtin">@panic</span>(mes
bfa60 73 61 67 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 sage:.[]<span.class="tok-kw">con
bfa80 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"
bfaa0 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 79 70 >u8</span>).<span.class="tok-typ
bfac0 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>
bfae0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 74 </pre>.......<p>.......Invokes.t
bfb00 68 65 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 2e 20 42 79 20 64 65 he.panic.handler.function..By.de
bfb20 66 61 75 6c 74 20 74 68 65 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e fault.the.panic.handler.function
bfb40 0a 20 20 20 20 20 20 63 61 6c 6c 73 20 74 68 65 20 70 75 62 6c 69 63 20 3c 63 6f 64 65 3e 3c 73 .......calls.the.public.<code><s
bfb60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 pan.class="line">panic</span></c
bfb80 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f 73 65 64 20 69 6e 20 74 68 65 20 72 6f 6f ode>.function.exposed.in.the.roo
bfba0 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 6f 72 0a 20 20 20 20 20 20 69 66 20 74 68 65 72 65 t.source.file,.or.......if.there
bfbc0 20 69 73 20 6e 6f 74 20 6f 6e 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 3c 63 6f 64 65 .is.not.one.specified,.the.<code
bfbe0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 62 75 69 6c 74 69 6e 2e ><span.class="line">std.builtin.
bfc00 64 65 66 61 75 6c 74 5f 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 default_panic</span></code>.....
bfc20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ..function.from.<code><span.clas
bfc40 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 73 70 61 6e 3e 3c s="line">std/builtin.zig</span><
bfc60 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 47 65 6e 65 /code>........</p>.......<p>Gene
bfc80 72 61 6c 6c 79 20 69 74 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e rally.it.is.better.to.use.<code>
bfca0 3c 73 70 61 6e 20 63 6c 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="
bfcc0 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
bfce0 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
bfd00 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ;</span>).debug.panic</span></co
bfd20 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 3c 63 6f 64 65 3e 3c 73 de>............However,.<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 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c k-builtin">@panic</span></span><
bfd80 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 32 20 73 63 65 6e 61 /code>.can.be.useful.for.2.scena
bfda0 72 69 6f 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 rios:.......</p>.......<ul>.....
bfdc0 20 20 20 20 3c 6c 69 3e 46 72 6f 6d 20 6c 69 62 72 61 72 79 20 63 6f 64 65 2c 20 63 61 6c 6c 69 ....<li>From.library.code,.calli
bfde0 6e 67 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 70 61 6e 69 63 20 66 75 6e 63 74 69 ng.the.programmer's.panic.functi
bfe00 6f 6e 20 69 66 20 74 68 65 79 20 65 78 70 6f 73 65 64 20 6f 6e 65 20 69 6e 20 74 68 65 20 72 6f on.if.they.exposed.one.in.the.ro
bfe20 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 ot.source.file.</li>.........<li
bfe40 3e 57 68 65 6e 20 6d 69 78 69 6e 67 20 43 20 61 6e 64 20 5a 69 67 20 63 6f 64 65 2c 20 63 61 6c >When.mixing.C.and.Zig.code,.cal
bfe60 6c 69 6e 67 20 74 68 65 20 63 61 6e 6f 6e 69 63 61 6c 20 70 61 6e 69 63 20 69 6d 70 6c 65 6d 65 ling.the.canonical.panic.impleme
bfe80 6e 74 61 74 69 6f 6e 20 61 63 72 6f 73 73 20 6d 75 6c 74 69 70 6c 65 20 2e 6f 20 66 69 6c 65 73 ntation.across.multiple..o.files
bfea0 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 20 .</li>.......</ul>.......<p>See.
bfec0 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 52 6f 6f 74 also:</p><ul>.<li><a.href="#Root
bfee0 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f -Source-File">Root.Source.File</
bff00 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
bff20 20 69 64 3d 22 70 6f 70 43 6f 75 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d .id="popCount"><a.href="nav.xhtm
bff40 6c 23 74 6f 63 2d 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 20 3c 61 l#toc-popCount">@popCount</a>.<a
bff60 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e c2 a7 .class="hdr".href="#popCount">..
bff80 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
bffa0 6e 20 63 6c 61 73 73 3d 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-
bffc0 62 75 69 6c 74 69 6e 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@popCount</span>(<span.
bffe0 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
c0000 3a 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
c0020 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c pan>,.operand:.T)</span></code><
c0040 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 73 /pre>.......<p><code><span.class
c0060 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 20 ="line">T</span></code>.must.be.
c0080 61 6e 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 3c 70 3e 3c 63 an.integer.type.</p>.......<p><c
c00a0 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</
c00c0 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 68 72 65 66 3d 22 span></code>.may.be.an.<a.href="
c00e0 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 3c 61 20 68 72 65 #Integers">integer</a>.or.<a.hre
c0100 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 70 3e 0a 20 20 20 f="#Vectors">vector</a>.</p>....
c0120 20 20 20 3c 70 3e 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 ...<p>Counts.the.number.of.bits.
c0140 73 65 74 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e set.in.an.integer.</p>.......<p>
c0160 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......If.<code><span.class="lin
c0180 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 e">operand</span></code>.is.a.<a
c01a0 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b .href="#comptime">comptime</a>-k
c01c0 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 nown.integer,.......the.return.t
c01e0 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 22 3e ype.is.<code><span.class="line">
c0200 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_
c0220 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 int</span></span></code>........
c0240 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e Otherwise,.the.return.type.is.an
c0260 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 .unsigned.integer.or.vector.of.u
c0280 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 nsigned.integers.with.the.minimu
c02a0 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 m.number.......of.bits.that.can.
c02c0 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 represent.the.bit.count.of.the.i
c02e0 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 nteger.type........</p>.......<p
c0300 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="
c0320 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d #ctz">@ctz</a></li>.<li><a.href=
c0340 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 "#clz">@clz</a></li>.</ul>......
c0360 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 72 65 66 65 74 63 68 22 3e 3c 61 20 68 ..........<h3.id="prefetch"><a.h
c0380 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 70 72 65 66 65 74 63 68 22 3e 40 70 72 ref="nav.xhtml#toc-prefetch">@pr
c03a0 65 66 65 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 efetch</a>.<a.class="hdr".href="
c03c0 23 70 72 65 66 65 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 #prefetch">..</a></h3>........<p
c03e0 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
c0400 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 68 3c n.class="tok-builtin">@prefetch<
c0420 2f 73 70 61 6e 3e 28 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>(ptr:.<span.class="tok-kw"
c0440 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 74 6f >anytype</span>,.<span.class="to
c0460 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 20 73 k-kw">comptime</span>.options:.s
c0480 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 70 61 td.builtin.PrefetchOptions)</spa
c04a0 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>.......
c04c0 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 72 20 This.builtin.tells.the.compiler.
c04e0 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 20 69 to.emit.a.prefetch.instruction.i
c0500 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 74 20 f.supported.by.the.......target.
c0520 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 74 20 CPU..If.the.target.CPU.does.not.
c0540 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 20 69 support.the.requested.prefetch.i
c0560 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 20 69 nstruction,.......this.builtin.i
c0580 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 20 65 s.a.noop..This.function.has.no.e
c05a0 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 72 6f ffect.on.the.behavior.of.the.pro
c05c0 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 6d 61 gram,.......only.on.the.performa
c05e0 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 3e 0a nce.characteristics........</p>.
c0600 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.
c0620 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 20 61 class="line">ptr</span></code>.a
c0640 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 65 20 rgument.may.be.any.pointer.type.
c0660 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 20 20 and.determines.the.memory.......
c0680 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 74 69 address.to.prefetch..This.functi
c06a0 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 69 6e on.does.not.dereference.the.poin
c06c0 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 20 20 ter,.it.is.perfectly.legal......
c06e0 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 6d 65 .to.pass.a.pointer.to.invalid.me
c0700 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 6c 6c mory.to.this.function.and.no.ill
c0720 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 20 20 egal.behavior.will.result.......
c0740 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 65 3e .</p>.......<p>.......The.<code>
c0760 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 61 6e <span.class="line">options</span
c0780 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 77 69 ></code>.argument.is.the.followi
c07a0 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 69 67 ng.struct:.......</p>.......<fig
c07c0 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">
c07e0 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 3c 2f <cite.class="file">builtin.zig</
c0800 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
c0820 61 6e 20 63 6c 61 73 73 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
c0840 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 75 72 -comment">///.This.data.structur
c0860 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 63 6f e.is.used.by.the.Zig.language.co
c0880 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 3e 0a de.generation.and</span></span>.
c08a0 3c 73 70 61 6e 20 63 6c 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="
c08c0 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 74 20 tok-comment">///.therefore.must.
c08e0 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 6c 65 be.kept.in.sync.with.the.compile
c0900 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 3e 0a r.implementation.</span></span>.
c0920 3c 73 70 61 6e 20 63 6c 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="
c0940 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="
c0960 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 70 74 tok-kw">const</span>.PrefetchOpt
c0980 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 72 75 ions.=.<span.class="tok-kw">stru
c09a0 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct</span>.{</span>.<span.class="
c09c0 6c 69 6e 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
c09e0 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 68 6f nt">///.Whether.the.prefetch.sho
c0a00 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 69 74 uld.prepare.for.a.read.or.a.writ
c0a20 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.</span></span>.<span.class="li
c0a40 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 0a 3c ne">....rw:.Rw.=..read,</span>.<
c0a60 73 70 61 6e 20 63 6c 61 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
c0a80 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 20 74 s="tok-comment">///.0.means.no.t
c0aa0 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 20 64 emporal.locality..That.is,.the.d
c0ac0 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 2f 73 ata.can.be.immediately</span></s
c0ae0 70 61 6e 3e 0a 3c 73 70 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
c0b00 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 70 65 n.class="tok-comment">///.droppe
c0b20 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 63 63 d.from.the.cache.after.it.is.acc
c0b40 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 73 73 essed.</span></span>.<span.class
c0b60 3d 22 6c 69 6e 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
c0b80 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 63 6c ment">///</span></span>.<span.cl
c0ba0 61 73 73 3d 22 6c 69 6e 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-
c0bc0 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 6f 72 comment">///.3.means.high.tempor
c0be0 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 20 73 al.locality..That.is,.the.data.s
c0c00 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 0a 3c hould.be.kept.in</span></span>.<
c0c20 73 70 61 6e 20 63 6c 61 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
c0c40 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 61 73 s="tok-comment">///.the.cache.as
c0c60 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 67 61 .it.is.likely.to.be.accessed.aga
c0c80 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 6c 61 in.soon.</span></span>.<span.cla
c0ca0 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 63 6c ss="line">....locality:.<span.cl
c0cc0 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 61 6e ass="tok-type">u2</span>.=.<span
c0ce0 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 2f 73 .class="tok-number">3</span>,</s
c0d00 70 61 6e 3e 0a 3c 73 70 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
c0d20 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 63 61 n.class="tok-comment">///.The.ca
c0d40 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 65 20 che.that.the.prefetch.should.be.
c0d60 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 70 61 preformed.on.</span></span>.<spa
c0d80 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 65 20 n.class="line">....cache:.Cache.
c0da0 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 69 6e =..data,</span>.<span.class="lin
c0dc0 65 22 3e 3c 2f 73 70 61 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">..
c0de0 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
c0e00 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
c0e20 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 65 6e an>.Rw.=.<span.class="tok-kw">en
c0e40 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="
c0e60 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 61 6e line">........read,</span>.<span
c0e80 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 73 70 .class="line">........write,</sp
c0ea0 61 6e 3e 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
c0ec0 70 61 6e 3e 0a 3c 73 70 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>.
c0ee0 3c 73 70 61 6e 20 63 6c 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
c0f00 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
c0f20 73 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 20 3d ss="tok-kw">const</span>.Cache.=
c0f40 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
c0f60 3e 20 7b 3c 2f 73 70 61 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">..
c0f80 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 6e 20 ......instruction,</span>.<span.
c0fa0 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 61 6e class="line">........data,</span
c0fc0 3e 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
c0fe0 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 3c n>.<span.class="line">};</span><
c1000 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 /code></pre></figure>...........
c1020 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 6e 61 ....<h3.id="ptrCast"><a.href="na
c1040 76 2e 78 68 74 6d 6c 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 v.xhtml#toc-ptrCast">@ptrCast</a
c1060 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 >.<a.class="hdr".href="#ptrCast"
c1080 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><
c10a0 73 70 61 6e 20 63 6c 61 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
c10c0 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 3c 73 70 61 ok-builtin">@ptrCast</span>(<spa
c10e0 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>
c1100 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 2d 74 79 70 65 .DestType:.<span.class="tok-type
c1120 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 20 63 6c 61 73 ">type</span>,.value:.<span.clas
c1140 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 54 s="tok-kw">anytype</span>).DestT
c1160 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 ype</span></code></pre>.......<p
c1180 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 6f 6e >.......Converts.a.pointer.of.on
c11a0 65 20 74 79 70 65 20 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 e.type.to.a.pointer.of.another.t
c11c0 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 20 20 20 ype........</p>.......<p>.......
c11e0 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 <a.href="#Optional-Pointers">Opt
c1200 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 ional.Pointers</a>.are.allowed..
c1220 43 61 73 74 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 77 68 69 63 Casting.an.optional.pointer.whic
c1240 68 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 0a 20 20 h.is.<a.href="#null">null</a>...
c1260 20 20 20 20 74 6f 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 6e ....to.a.non-optional.pointer.in
c1280 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 vokes.safety-checked.<a.href="#U
c12a0 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
c12c0 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>...........
c12e0 20 20 20 20 3c 68 33 20 69 64 3d 22 70 74 72 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e ....<h3.id="ptrToInt"><a.href="n
c1300 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 av.xhtml#toc-ptrToInt">@ptrToInt
c1320 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 54 6f </a>.<a.class="hdr".href="#ptrTo
c1340 49 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 3e 3c 63 6f Int">..</a></h3>........<pre><co
c1360 64 65 3e 3c 73 70 61 6e 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
c1380 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 70 61 6e 3e s="tok-builtin">@ptrToInt</span>
c13a0 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 (value:.<span.class="tok-kw">any
c13c0 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 type</span>).<span.class="tok-ty
c13e0 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 65 3e 3c 2f pe">usize</span></span></code></
c1400 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 3c 63 pre>.......<p>.......Converts.<c
c1420 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 70 ode><span.class="line">value</sp
c1440 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 an></code>.to.a.<code><span.clas
c1460 73 3d 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">
c1480 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 20 77 68 69 63 68 usize</span></span></code>.which
c14a0 20 69 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 20 .is.the.address.of.the.pointer..
c14c0 3c 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 <code><span.class="line">value</
c14e0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 span></code>.can.be.one.of.these
c1500 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 .types:.......</p>.......<ul>...
c1520 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........<li><code><span.class="l
c1540 69 6e 65 22 3e 2a 54 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 ine">*T</span></code></li>......
c1560 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
c1580 22 3e 3f 2a 54 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 ">?*T</span></code></li>........
c15a0 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...<li><code><span.class="line">
c15c0 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 28 29 <span.class="tok-kw">fn</span>()
c15e0 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
c1600 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 3f 3c 73 70 61 i><code><span.class="line">?<spa
c1620 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
c1640 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 an></code></li>.......</ul>.....
c1660 20 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 ..<p>To.convert.the.other.way,.u
c1680 73 65 20 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 74 72 se.<a.href="#intToPtr">@intToPtr
c16a0 3c 2f 61 3e 3c 2f 70 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 </a></p>................<h3.id="
c16c0 72 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 72 65 6d 22 rem"><a.href="nav.xhtml#toc-rem"
c16e0 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 68 72 65 66 3d 22 23 >@rem</a>.<a.class="hdr".href="#
c1700 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 70 72 65 3e 3c 63 6f rem">..</a></h3>........<pre><co
c1720 64 65 3e 3c 73 70 61 6e 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
c1740 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 6e 75 6d 65 s="tok-builtin">@rem</span>(nume
c1760 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 rator:.T,.denominator:.T).T</spa
c1780 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>.......
c17a0 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 6e 73 69 67 6e 65 64 Remainder.division..For.unsigned
c17c0 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 0a 20 20 .integers.this.is.the.same.as...
c17e0 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 6e 75 6d ....<code><span.class="line">num
c1800 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 63 6f 64 erator.%.denominator</span></cod
c1820 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 73 70 61 e>..Caller.guarantees.<code><spa
c1840 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 74 3b 20 n.class="line">denominator.&gt;.
c1860 3c 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
c1880 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ></span></code>........</p>.....
c18a0 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e ..<ul>...........<li><code><span
c18c0 20 63 6c 61 73 73 3d 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
c18e0 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 61 73 73 uiltin">@rem</span>(-<span.class
c1900 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 63 6c ="tok-number">5</span>,.<span.cl
c1920 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c ass="tok-number">3</span>).==.-<
c1940 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>
c1960 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
c1980 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 73 70 61 i><code><span.class="line">(<spa
c19a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c n.class="tok-builtin">@divTrunc<
c19c0 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 73 73 3d /span>(a,.b).*.b).+.<span.class=
c19e0 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 62 29 20 "tok-builtin">@rem</span>(a,.b).
c1a00 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 20 3c 2f ==.a</span></code></li>.......</
c1a20 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 ul>.......<p>For.a.function.that
c1a40 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 63 6f 64 .returns.an.error.code,.see.<cod
c1a60 65 3e 3c 73 70 61 6e 20 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
c1a80 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
c1aa0 70 61 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
c1ac0 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 63 6f 64 ot;</span>).math.rem</span></cod
c1ae0 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 e>.</p>.......<p>See.also:</p><u
c1b00 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 3e 3c 2f l>.<li><a.href="#mod">@mod</a></
c1b20 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=
c1b40 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 6e 61 76 2e 78 68 74 "returnAddress"><a.href="nav.xht
c1b60 6d 6c 23 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 ml#toc-returnAddress">@returnAdd
c1b80 72 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 ress</a>.<a.class="hdr".href="#r
c1ba0 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 eturnAddress">..</a></h3>.......
c1bc0 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"><
c1be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 74 75 72 6e span.class="tok-builtin">@return
c1c00 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f Address</span>().<span.class="to
c1c20 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
c1c40 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
c1c60 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 nction.returns.the.address.of.th
c1c80 65 20 6e 65 78 74 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 e.next.machine.code.instruction.
c1ca0 74 68 61 74 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 0a 20 20 20 20 20 20 77 68 65 6e that.will.be.executed.......when
c1cc0 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 0a 20 .the.current.function.returns...
c1ce0 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 69 6d .....</p>.......<p>.......The.im
c1d00 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 20 73 70 plications.of.this.are.target.sp
c1d20 65 63 69 66 69 63 20 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 ecific.and.not.consistent.across
c1d40 0a 20 20 20 20 20 20 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .......all.platforms........</p>
c1d60 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 69 .......<p>.......This.function.i
c1d80 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f s.only.valid.within.function.sco
c1da0 70 65 2e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 69 6e 6c 69 6e 65 64 pe..If.the.function.gets.inlined
c1dc0 20 69 6e 74 6f 0a 20 20 20 20 20 20 61 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 .into.......a.calling.function,.
c1de0 74 68 65 20 72 65 74 75 72 6e 65 64 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 61 70 70 6c 79 20 the.returned.address.will.apply.
c1e00 74 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c to.the.calling.function........<
c1e20 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 73 65 6c 65 63 74 /p>...............<h3.id="select
c1e40 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 65 6c 65 63 74 22 "><a.href="nav.xhtml#toc-select"
c1e60 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 >@select</a>.<a.class="hdr".href
c1e80 3d 22 23 73 65 6c 65 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 ="#select">..</a></h3>........<p
c1ea0 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
c1ec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 6c 65 63 74 3c 2f 73 n.class="tok-builtin">@select</s
c1ee0 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
c1f00 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
c1f20 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 72 65 64 3a 20 73 74 64 2e 6d 65 74 61 2e pe">type</span>,.pred:.std.meta.
c1f40 56 65 63 74 6f 72 28 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 Vector(len,.<span.class="tok-typ
c1f60 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 2c 20 61 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 e">bool</span>),.a:.std.meta.Vec
c1f80 74 6f 72 28 6c 65 6e 2c 20 54 29 2c 20 62 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 tor(len,.T),.b:.std.meta.Vector(
c1fa0 6c 65 6e 2c 20 54 29 29 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 54 29 len,.T)).std.meta.Vector(len,.T)
c1fc0 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>..
c1fe0 20 20 20 20 20 53 65 6c 65 63 74 73 20 76 61 6c 75 65 73 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 .....Selects.values.element-wise
c2000 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 3e 61 .from.<code><span.class="line">a
c2020 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </span></code>.or.<code><span.cl
c2040 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 62 61 73 65 64 ass="line">b</span></code>.based
c2060 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 22 3e 70 72 65 .on.<code><span.class="line">pre
c2080 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 d</span></code>..If.<code><span.
c20a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 64 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="line">pred[i]</span></cod
c20c0 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"><
c20e0 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
c2100 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 ></span></code>,.the.correspondi
c2120 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 62 65 ng.element.in.the.result.will.be
c2140 20 3c 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 5b 69 5d 3c 2f .<code><span.class="line">a[i]</
c2160 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 3c 63 6f 64 65 span></code>.and.otherwise.<code
c2180 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 5b 69 5d 3c 2f 73 70 61 6e 3e 3c ><span.class="line">b[i]</span><
c21a0 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 /code>........</p>.......<p>See.
c21c0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 also:</p><ul>.<li><a.href="#Vect
c21e0 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 ors">Vectors</a></li>.</ul>.....
c2200 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 41 6c 69 67 6e 53 74 61 63 6b ...........<h3.id="setAlignStack
c2220 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 65 74 41 6c 69 67 "><a.href="nav.xhtml#toc-setAlig
c2240 6e 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 61 3e 20 3c 61 20 63 6c nStack">@setAlignStack</a>.<a.cl
c2260 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e ass="hdr".href="#setAlignStack">
c2280 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
c22a0 70 61 6e 20 63 6c 61 73 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
c22c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 73 70 61 6e 3e k-builtin">@setAlignStack</span>
c22e0 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</
c2300 73 70 61 6e 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.alignment:.<span.class="to
c2320 6b 2d 74 79 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">u29</span>)</span></code
c2340 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e 73 75 72 65 73 20 ></pre>.......<p>.......Ensures.
c2360 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 68 61 76 65 20 61 20 73 74 61 63 that.a.function.will.have.a.stac
c2380 6b 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 74 20 6c 65 61 73 74 20 3c 63 6f 64 65 3e 3c 73 k.alignment.of.at.least.<code><s
c23a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e pan.class="line">alignment</span
c23c0 3e 3c 2f 63 6f 64 65 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ></code>.bytes........</p>......
c23e0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 43 6f 6c 64 22 3e 3c 61 20 68 72 65 .........<h3.id="setCold"><a.hre
c2400 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f f="nav.xhtml#toc-setCold">@setCo
c2420 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 ld</a>.<a.class="hdr".href="#set
c2440 43 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 Cold">..</a></h3>........<pre><c
c2460 6f 64 65 3e 3c 73 70 61 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
c2480 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 73 70 61 6e 3e ss="tok-builtin">@setCold</span>
c24a0 28 69 73 5f 63 6f 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 (is_cold:.<span.class="tok-type"
c24c0 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 2f 70 72 65 >bool</span>)</span></code></pre
c24e0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 65 6c 6c 73 20 74 68 65 20 6f 70 74 69 >.......<p>.......Tells.the.opti
c2500 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 65 6c 79 20 mizer.that.a.function.is.rarely.
c2520 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 called........</p>..............
c2540 20 3c 68 33 20 69 64 3d 22 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 3c 61 20 .<h3.id="setEvalBranchQuota"><a.
c2560 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 6e 63 href="nav.xhtml#toc-setEvalBranc
c2580 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 hQuota">@setEvalBranchQuota</a>.
c25a0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 <a.class="hdr".href="#setEvalBra
c25c0 6e 63 68 51 75 6f 74 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 nchQuota">..</a></h3>........<pr
c25e0 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
c2600 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 .class="tok-builtin">@setEvalBra
c2620 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 28 6e 65 77 5f 71 75 6f 74 61 3a 20 3c 73 70 61 6e nchQuota</span>(new_quota:.<span
c2640 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
c2660 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>.....
c2680 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.
c26a0 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-
c26c0 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
c26e0 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.
c2700 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>.......
c2720 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
c2740 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
c2760 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
c2780 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
c27a0 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
c27c0 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
c27e0 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
c2800 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
c2820 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>.....
c2840 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
c2860 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
c2880 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>
c28a0 3c 73 70 61 6e 20 63 6c 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="
c28c0 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=
c28e0 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>
c2900 20 7b 3c 2f 73 70 61 6e 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">...
c2920 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</
c2940 73 70 61 6e 3e 20 7b 3c 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
c2960 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
c2980 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
c29a0 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
c29c0 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="
c29e0 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
c2a00 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
c2a20 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
c2a40 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
c2a60 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
c2a80 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>
c2aa0 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
c2ac0 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
c2ae0 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">$
c2b00 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
c2b20 70 61 6e 3e 0a 3c 73 70 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
c2b40 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
c2b60 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"
c2b80 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
c2ba0 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
c2bc0 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
c2be0 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.
c2c00 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>.
c2c20 3c 73 70 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
c2c40 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>.<
c2c60 73 70 61 6e 20 63 6c 61 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
c2c80 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 32 3a 0_1">./docgen_tmp/test.zig:1:12:
c2ca0 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
c2cc0 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 72 65 66 65 :.</span><span.class="t0_1">refe
c2ce0 72 65 6e 63 65 64 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 renced.here</span></span>.<span.
c2d00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 65 73 74 20 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 class="line">test.&quot;foo&quot
c2d20 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 20 20 ;.{</span>.<span.class="line">..
c2d40 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">^</
c2d60 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 75 span></span>.</samp></pre></figu
c2d80 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 77 20 77 65 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 re>.......<p>Now.we.use.<code><s
c2da0 70 61 6e 20 63 6c 61 73 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
c2dc0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f k-builtin">@setEvalBranchQuota</
c2de0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c span></span></code>:</p>.......<
c2e00 66 69 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
c2e20 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 65 74 45 76 61 6c 42 72 61 p"><cite.class="file">setEvalBra
c2e40 6e 63 68 51 75 6f 74 61 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e nchQuota.zig</cite></figcaption>
c2e60 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
c2e80 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>.<
c2ea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 span.class="tok-str">&quot;foo&q
c2ec0 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
c2ee0 3d 22 6c 69 6e 65 22 3e 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"
c2f00 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >comptime</span>.{</span>.<span.
c2f20 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
c2f40 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 6f ="tok-builtin">@setEvalBranchQuo
c2f60 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 6e 75 6d 62 65 ta</span>(<span.class="tok-numbe
c2f80 72 22 3e 31 30 30 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 r">1001</span>);</span>.<span.cl
c2fa0 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="
c2fc0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-kw">var</span>.i.=.<span.cla
c2fe0 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>
c3000 0a 3c 73 70 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
c3020 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 69 n.class="tok-kw">while</span>.(i
c3040 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 31 .&lt;.<span.class="tok-number">1
c3060 30 30 31 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 001</span>).:.(i.+=.<span.class=
c3080 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 73 70 61 6e 3e "tok-number">1</span>).{}</span>
c30a0 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>
c30c0 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
c30e0 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
c3100 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
c3120 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
c3140 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 65 74 45 76 61 6c 42 ="line">$.<kbd>zig.test.setEvalB
c3160 72 61 6e 63 68 51 75 6f 74 61 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ranchQuota.zig</kbd></span>.<spa
c3180 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 66 6f n.class="line">1/1.test.&quot;fo
c31a0 6f 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 o&quot;....OK</span>.<span.class
c31c0 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
c31e0 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 0a 20 20 20 20 20 n>.</samp></pre></figure>.......
c3200 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
c3220 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 3e 0a f="#comptime">comptime</a></li>.
c3240 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 73 65 74 </ul>................<h3.id="set
c3260 46 6c 6f 61 74 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f FloatMode"><a.href="nav.xhtml#to
c3280 63 2d 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 c-setFloatMode">@setFloatMode</a
c32a0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 >.<a.class="hdr".href="#setFloat
c32c0 4d 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 Mode">..</a></h3>........<pre><c
c32e0 6f 64 65 3e 3c 73 70 61 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
c3300 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f ss="tok-builtin">@setFloatMode</
c3320 73 70 61 6e 3e 28 6d 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 span>(mode:.<span.class="tok-bui
c3340 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
c3360 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
c3380 3e 29 2e 62 75 69 6c 74 69 6e 2e 46 6c 6f 61 74 4d 6f 64 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f >).builtin.FloatMode)</span></co
c33a0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 74 73 20 74 de></pre>.......<p>.......Sets.t
c33c0 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 6f 66 20 74 68 65 20 63 75 he.floating.point.mode.of.the.cu
c33e0 72 72 65 6e 74 20 73 63 6f 70 65 2e 20 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 rrent.scope..Possible.values.are
c3400 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
c3420 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
c3440 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
c3460 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
c3480 6e 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
c34a0 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</
c34c0 73 70 61 6e 3e 20 46 6c 6f 61 74 4d 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.FloatMode.=.<span.class="t
c34e0 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-kw">enum</span>.{</span>.<spa
c3500 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 53 74 72 69 63 74 2c 3c 2f 73 70 61 6e n.class="line">....Strict,</span
c3520 3e 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 70 74 69 6d 69 7a >.<span.class="line">....Optimiz
c3540 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b ed,</span>.<span.class="line">};
c3560 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 </span></code></pre></figure>...
c3580 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ....<ul>.........<li>...........
c35a0 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 53 74 72 69 63 ..<code><span.class="line">Stric
c35c0 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 64 65 66 61 75 6c 74 29 20 2d 20 46 6c 6f 61 t</span></code>.(default).-.Floa
c35e0 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 66 6f 6c 6c 6f 77 20 73 74 72 ting.point.operations.follow.str
c3600 69 63 74 20 49 45 45 45 20 63 6f 6d 70 6c 69 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c ict.IEEE.compliance..........</l
c3620 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 3c 63 6f 64 i>.........<li>.............<cod
c3640 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 3c 2f e><span.class="line">Optimized</
c3660 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 span></code>.-.Floating.point.op
c3680 65 72 61 74 69 6f 6e 73 20 6d 61 79 20 64 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f erations.may.do.all.of.the.follo
c36a0 77 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 wing:...........<ul>............
c36c0 20 3c 6c 69 3e 41 73 73 75 6d 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 .<li>Assume.the.arguments.and.re
c36e0 73 75 6c 74 20 61 72 65 20 6e 6f 74 20 4e 61 4e 2e 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 sult.are.not.NaN..Optimizations.
c3700 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 69 6e 20 64 65 66 69 6e 65 64 20 62 are.required.to.retain.defined.b
c3720 65 68 61 76 69 6f 72 20 6f 76 65 72 20 4e 61 4e 73 2c 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 ehavior.over.NaNs,.but.the.value
c3740 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
c3760 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 67 >.............<li>Assume.the.arg
c3780 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 2b 2f 2d 49 6e 66 uments.and.result.are.not.+/-Inf
c37a0 2e 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 ..Optimizations.are.required.to.
c37c0 72 65 74 61 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 76 65 72 20 2b 2f 2d retain.defined.behavior.over.+/-
c37e0 49 6e 66 2c 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 Inf,.but.the.value.of.the.result
c3800 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .is.undefined.</li>.............
c3820 3c 6c 69 3e 54 72 65 61 74 20 74 68 65 20 73 69 67 6e 20 6f 66 20 61 20 7a 65 72 6f 20 61 72 67 <li>Treat.the.sign.of.a.zero.arg
c3840 75 6d 65 6e 74 20 6f 72 20 72 65 73 75 6c 74 20 61 73 20 69 6e 73 69 67 6e 69 66 69 63 61 6e 74 ument.or.result.as.insignificant
c3860 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 72 .</li>.............<li>Use.the.r
c3880 65 63 69 70 72 6f 63 61 6c 20 6f 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 72 61 74 68 65 72 20 eciprocal.of.an.argument.rather.
c38a0 74 68 61 6e 20 70 65 72 66 6f 72 6d 20 64 69 76 69 73 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 than.perform.division.</li>.....
c38c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 ........<li>Perform.floating-poi
c38e0 6e 74 20 63 6f 6e 74 72 61 63 74 69 6f 6e 20 28 65 2e 67 2e 20 66 75 73 69 6e 67 20 61 20 6d 75 nt.contraction.(e.g..fusing.a.mu
c3900 6c 74 69 70 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 61 64 64 69 74 69 6f 6e 20 69 ltiply.followed.by.an.addition.i
c3920 6e 74 6f 20 61 20 66 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 6e 64 2d 61 64 64 29 2e 3c 2f nto.a.fused.multiply-and-add).</
c3940 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 6d 20 61 6c 67 65 li>.............<li>Perform.alge
c3960 62 72 61 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 72 61 6e 73 66 6f 72 6d 61 74 braically.equivalent.transformat
c3980 69 6f 6e 73 20 74 68 61 74 20 6d 61 79 20 63 68 61 6e 67 65 20 72 65 73 75 6c 74 73 20 69 6e 20 ions.that.may.change.results.in.
c39a0 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 65 2e 67 2e 20 72 65 61 73 73 6f 63 69 61 74 65 floating.point.(e.g..reassociate
c39c0 29 2e 3c 2f 6c 69 3e 0a 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>.........
c39e0 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 2d 66 ..This.is.equivalent.to.<code>-f
c3a00 66 61 73 74 2d 6d 61 74 68 3c 2f 63 6f 64 65 3e 20 69 6e 20 47 43 43 2e 0a 20 20 20 20 20 20 20 fast-math</code>.in.GCC.........
c3a20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .</li>.......</ul>.......<p>....
c3a40 20 20 20 54 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 73 20 69 6e ...The.floating.point.mode.is.in
c3a60 68 65 72 69 74 65 64 20 62 79 20 63 68 69 6c 64 20 73 63 6f 70 65 73 2c 20 61 6e 64 20 63 61 6e herited.by.child.scopes,.and.can
c3a80 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 69 6e 20 61 6e 79 20 73 63 6f 70 65 2e 0a 20 20 20 .be.overridden.in.any.scope.....
c3aa0 20 20 20 59 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e ...You.can.set.the.floating.poin
c3ac0 74 20 6d 6f 64 65 20 69 6e 20 61 20 73 74 72 75 63 74 20 6f 72 20 6d 6f 64 75 6c 65 20 73 63 6f t.mode.in.a.struct.or.module.sco
c3ae0 70 65 20 62 79 20 75 73 69 6e 67 20 61 20 63 6f 6d 70 74 69 6d 65 20 62 6c 6f 63 6b 2e 0a 20 20 pe.by.using.a.comptime.block....
c3b00 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c ....</p>.......<p>See.also:</p><
c3b20 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 ul>.<li><a.href="#Floating-Point
c3b40 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 -Operations">Floating.Point.Oper
c3b60 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 ations</a></li>.</ul>...........
c3b80 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 3c .....<h3.id="setRuntimeSafety"><
c3ba0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 65 74 52 75 6e 74 69 6d 65 a.href="nav.xhtml#toc-setRuntime
c3bc0 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 20 3c 61 Safety">@setRuntimeSafety</a>.<a
c3be0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 .class="hdr".href="#setRuntimeSa
c3c00 66 65 74 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 fety">..</a></h3>........<pre><c
c3c20 6f 64 65 3e 3c 73 70 61 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
c3c40 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 ss="tok-builtin">@setRuntimeSafe
c3c60 74 79 3c 2f 73 70 61 6e 3e 28 73 61 66 65 74 79 5f 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ty</span>(safety_on:.<span.class
c3c80 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
c3ca0 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
c3cc0 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>.......
c3ce0 53 65 74 73 20 77 68 65 74 68 65 72 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 Sets.whether.runtime.safety.chec
c3d00 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 66 6f 72 20 74 68 65 20 73 63 6f 70 65 20 74 68 61 ks.are.enabled.for.the.scope.tha
c3d20 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a 20 20 t.contains.the.function.call....
c3d40 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
c3d60 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="
c3d80 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
c3da0 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">
c3dc0 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>
c3de0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 73 65 .<span.class="tok-str">&quot;@se
c3e00 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 tRuntimeSafety&quot;</span>.{</s
c3e20 70 61 6e 3e 0a 3c 73 70 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
c3e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 62 75 69 n.class="tok-comment">//.The.bui
c3e60 6c 74 69 6e 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 73 63 6f 70 65 20 74 68 61 74 20 69 ltin.applies.to.the.scope.that.i
c3e80 74 20 69 73 20 63 61 6c 6c 65 64 20 69 6e 2e 20 53 6f 20 68 65 72 65 2c 20 69 6e 74 65 67 65 72 t.is.called.in..So.here,.integer
c3ea0 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .overflow</span></span>.<span.cl
c3ec0 61 73 73 3d 22 6c 69 6e 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-
c3ee0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 comment">//.will.not.be.caught.i
c3f00 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d n.ReleaseFast.and.ReleaseSmall.m
c3f20 6f 64 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d odes:</span></span>.<span.class=
c3f40 22 6c 69 6e 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
c3f60 65 6e 74 22 3e 2f 2f 20 76 61 72 20 78 3a 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 3c ent">//.var.x:.u8.=.255;</span><
c3f80 2f 73 70 61 6e 3e 0a 3c 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
c3fa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 pan.class="tok-comment">//.x.+=.
c3fc0 31 3b 20 2f 2f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 52 65 6c 65 1;.//.undefined.behavior.in.Rele
c3fe0 61 73 65 46 61 73 74 2f 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 aseFast/ReleaseSmall.modes.</spa
c4000 6e 3e 3c 2f 73 70 61 6e 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">...
c4020 20 7b 3c 2f 73 70 61 6e 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">...
c4040 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
c4060 2f 20 48 6f 77 65 76 65 72 20 74 68 69 73 20 62 6c 6f 63 6b 20 68 61 73 20 73 61 66 65 74 79 20 /.However.this.block.has.safety.
c4080 65 6e 61 62 6c 65 64 2c 20 73 6f 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 68 61 70 70 65 6e enabled,.so.safety.checks.happen
c40a0 20 68 65 72 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .here,</span></span>.<span.class
c40c0 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
c40e0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 6e 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 -comment">//.even.in.ReleaseFast
c4100 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 3c .and.ReleaseSmall.modes.</span><
c4120 2f 73 70 61 6e 3e 0a 3c 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">......
c4140 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 ..<span.class="tok-builtin">@set
c4160 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 RuntimeSafety</span>(<span.class
c4180 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ="tok-null">true</span>);</span>
c41a0 0a 3c 73 70 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
c41c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c n.class="tok-kw">var</span>.x:.<
c41e0 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>.
c4200 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f =.<span.class="tok-number">255</
c4220 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"
c4240 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
c4260 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
c4280 61 73 73 3d 22 6c 69 6e 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="
c42a0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">........{</span>.<span.cla
c42c0 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
c42e0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 76 61 6c 75 65 20 63 61 6e s="tok-comment">//.The.value.can
c4300 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 61 74 20 61 6e 79 20 73 63 6f 70 65 2e 20 53 6f 20 .be.overridden.at.any.scope..So.
c4320 68 65 72 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 here.integer.overflow</span></sp
c4340 61 6e 3e 0a 3c 73 70 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">.........
c4360 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">//.
c4380 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 6e 20 61 6e 79 20 62 75 69 6c 64 would.not.be.caught.in.any.build
c43a0 20 6d 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .mode.</span></span>.<span.class
c43c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">............<span.class=
c43e0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c "tok-builtin">@setRuntimeSafety<
c4400 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 /span>(<span.class="tok-null">fa
c4420 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lse</span>);</span>.<span.class=
c4440 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="
c4460 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 78 3a 20 75 38 20 3d 20 32 35 35 3b tok-comment">//.var.x:.u8.=.255;
c4480 3c 2f 73 70 61 6e 3e 3c 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
c44a0 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ">............<span.class="tok-c
c44c0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f 20 75 6e 64 65 66 69 6e 65 64 20 omment">//.x.+=.1;.//.undefined.
c44e0 62 65 68 61 76 69 6f 72 20 69 6e 20 61 6c 6c 20 62 75 69 6c 64 20 6d 6f 64 65 73 2e 3c 2f 73 70 behavior.in.all.build.modes.</sp
c4500 61 6e 3e 3c 2f 73 70 61 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">..
c4520 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
c4540 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
c4560 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>
c4580 3c 66 69 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
c45a0 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
c45c0 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
c45e0 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 4f 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 .test.test.zig.-OReleaseFast</kb
c4600 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
c4620 20 74 65 73 74 20 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 .test.&quot;@setRuntimeSafety&qu
c4640 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 37 39 37 31 32 35 20 70 61 6e 69 63 3a 20 69 6e 74 65 ot;....thread.797125.panic:.inte
c4660 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ger.overflow</span>.<span.class=
c4680 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 74 65 73 74 "line">error:.the.following.test
c46a0 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 73 70 61 6e 20 63 .command.crashed:</span>.<span.c
c46c0 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 2d 63 61 63 68 65 lass="line">docgen_tmp/zig-cache
c46e0 2f 6f 2f 37 62 33 66 33 38 35 37 38 64 64 33 63 36 38 61 38 65 36 31 37 37 31 63 36 30 30 35 63 /o/7b3f38578dd3c68a8e61771c6005c
c4700 66 65 61 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 fea/test./home/andy/Downloads/zi
c4720 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
c4740 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 3a p></pre></figure>.......<p>Note:
c4760 20 69 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 .it.is.<a.href="https://github.c
c4780 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 39 37 38 22 3e 70 6c 61 6e 6e om/ziglang/zig/issues/978">plann
c47a0 65 64 3c 2f 61 3e 20 74 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 ed</a>.to.replace.......<code><s
c47c0 70 61 6e 20 63 6c 61 73 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
c47e0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 k-builtin">@setRuntimeSafety</sp
c4800 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 65 3e 40 6f 70 an></span></code>.with.<code>@op
c4820 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 20 0a 0a 20 20 timizeFor</code></p>............
c4840 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 65 66 3d 22 6e ....<h3.id="shlExact"><a.href="n
c4860 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 av.xhtml#toc-shlExact">@shlExact
c4880 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 45 78 </a>.<a.class="hdr".href="#shlEx
c48a0 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f act">..</a></h3>........<pre><co
c48c0 64 65 3e 3c 73 70 61 6e 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
c48e0 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 2f 73 70 61 6e 3e s="tok-builtin">@shlExact</span>
c4900 28 76 61 6c 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 (value:.T,.shift_amt:.Log2T).T</
c4920 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>....
c4940 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 6c 65 66 74 20 73 68 69 66 74 20 6f 70 65 72 61 ...Performs.the.left.shift.opera
c4960 74 69 6f 6e 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 tion.(<code><span.class="line">&
c4980 6c 74 3b 26 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 lt;&lt;</span></code>)........Fo
c49a0 72 20 75 6e 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 r.unsigned.integers,.the.result.
c49c0 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 6e 64 65 66 69 6e 65 is.<a.href="#undefined">undefine
c49e0 64 3c 2f 61 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 d</a>.if.any.1.bits.......are.sh
c4a00 69 66 74 65 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 ifted.out..For.signed.integers,.
c4a20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 the.result.is.<a.href="#undefine
c4a40 64 22 3e 75 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 d">undefined</a>.if.......any.bi
c4a60 74 73 20 74 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 ts.that.disagree.with.the.result
c4a80 61 6e 74 20 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 ant.sign.bit.are.shifted.out....
c4aa0 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 74 79 70 ....</p>.......<p>.......The.typ
c4ac0 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 73 68 e.of.<code><span.class="line">sh
c4ae0 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 6e 73 69 ift_amt</span></code>.is.an.unsi
c4b00 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 20 63 6c gned.integer.with.<code><span.cl
c4b20 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 2f 73 70 ass="line">log2(T.bit_count)</sp
c4b40 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 20 20 54 an></code>.bits................T
c4b60 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 61 73 73 his.is.because.<code><span.class
c4b80 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 5f 63 6f ="line">shift_amt.&gt;=.T.bit_co
c4ba0 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 64 20 62 unt</span></code>.is.undefined.b
c4bc0 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 ehavior........</p>.......<p>See
c4be0 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 68 72 .also:</p><ul>.<li><a.href="#shr
c4c00 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 Exact">@shrExact</a></li>.<li><a
c4c20 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 .href="#shlWithOverflow">@shlWit
c4c40 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 hOverflow</a></li>.</ul>........
c4c60 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 ........<h3.id="shlWithOverflow"
c4c80 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 68 6c 57 69 74 68 4f ><a.href="nav.xhtml#toc-shlWithO
c4ca0 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 20 3c 61 verflow">@shlWithOverflow</a>.<a
c4cc0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 .class="hdr".href="#shlWithOverf
c4ce0 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f low">..</a></h3>........<pre><co
c4d00 64 65 3e 3c 73 70 61 6e 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
c4d20 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 s="tok-builtin">@shlWithOverflow
c4d40 3c 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
c4d60 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ptime</span>.T:.<span.class="tok
c4d80 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 73 68 69 66 74 5f -type">type</span>,.a:.T,.shift_
c4da0 61 6d 74 3a 20 4c 6f 67 32 54 2c 20 72 65 73 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 63 6c amt:.Log2T,.result:.*T).<span.cl
c4dc0 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 6e ass="tok-type">bool</span></span
c4de0 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
c4e00 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 erforms.<code><span.class="line"
c4e20 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c >result.*.=.a.&lt;&lt;.b</span><
c4e40 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 66 6c 6f 77 /code>..If.overflow.or.underflow
c4e60 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 .occurs,..................stores
c4e80 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 3e 3c 73 .the.overflowed.bits.in.<code><s
c4ea0 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 3e 3c 2f pan.class="line">result</span></
c4ec0 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 20 63 6c code>.and.returns.<code><span.cl
c4ee0 61 73 73 3d 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
c4f00 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 20 20 20 ">true</span></span></code>.....
c4f20 20 20 20 20 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 ......................If.no.over
c4f40 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 65 74 75 72 6e flow.or.underflow.occurs,.return
c4f60 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e s.<code><span.class="line"><span
c4f80 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></
c4fa0 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>.......<
c4fc0 70 3e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e p>.......The.type.of.<code><span
c4fe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f .class="line">shift_amt</span></
c5000 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 code>.is.an.unsigned.integer.wit
c5020 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 h.<code><span.class="line">log2(
c5040 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 2e T.bit_count)</span></code>.bits.
c5060 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 3c ...............This.is.because.<
c5080 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 6d code><span.class="line">shift_am
c50a0 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 65 t.&gt;=.T.bit_count</span></code
c50c0 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 3c >.is.undefined.behavior........<
c50e0 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>.<
c5100 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 74 li><a.href="#shlExact">@shlExact
c5120 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 </a></li>.<li><a.href="#shrExact
c5140 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 ">@shrExact</a></li>.</ul>......
c5160 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 72 45 78 61 63 74 ................<h3.id="shrExact
c5180 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 68 72 45 78 61 63 "><a.href="nav.xhtml#toc-shrExac
c51a0 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 t">@shrExact</a>.<a.class="hdr".
c51c0 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 href="#shrExact">..</a></h3>....
c51e0 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
c5200 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 68 72 "><span.class="tok-builtin">@shr
c5220 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 Exact</span>(value:.T,.shift_amt
c5240 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 :.Log2T).T</span></code></pre>..
c5260 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 72 69 67 68 .....<p>.......Performs.the.righ
c5280 74 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 t.shift.operation.(<code><span.c
c52a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="line">&gt;&gt;</span></cod
c52c0 65 3e 29 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 20 74 68 61 e>)..Caller.guarantees.......tha
c52e0 74 20 74 68 65 20 73 68 69 66 74 20 77 69 6c 6c 20 6e 6f 74 20 73 68 69 66 74 20 61 6e 79 20 31 t.the.shift.will.not.shift.any.1
c5300 20 62 69 74 73 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a .bits.out........</p>.......<p>.
c5320 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ......The.type.of.<code><span.cl
c5340 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="line">shift_amt</span></cod
c5360 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 3c e>.is.an.unsigned.integer.with.<
c5380 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 54 2e 62 code><span.class="line">log2(T.b
c53a0 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 2e 0a 20 20 it_count)</span></code>.bits....
c53c0 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 ............This.is.because.<cod
c53e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 e><span.class="line">shift_amt.&
c5400 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 65 3e 20 69 gt;=.T.bit_count</span></code>.i
c5420 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 3c 2f 70 3e s.undefined.behavior........</p>
c5440 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>
c5460 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 74 3c 2f 61 <a.href="#shlExact">@shlExact</a
c5480 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 4f 76 65 72 ></li>.<li><a.href="#shlWithOver
c54a0 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a flow">@shlWithOverflow</a></li>.
c54c0 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 73 68 75 </ul>................<h3.id="shu
c54e0 66 66 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 68 75 ffle"><a.href="nav.xhtml#toc-shu
c5500 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ffle">@shuffle</a>.<a.class="hdr
c5520 22 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ".href="#shuffle">..</a></h3>...
c5540 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
c5560 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 68 e"><span.class="tok-builtin">@sh
c5580 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 uffle</span>(<span.class="tok-kw
c55a0 22 3e 63 6f 6d 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 ">comptime</span>.E:.<span.class
c55c0 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 73 74 64 2e ="tok-type">type</span>,.a:.std.
c55e0 6d 65 74 61 2e 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 meta.Vector(a_len,.E),.b:.std.me
c5600 74 61 2e 56 65 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 ta.Vector(b_len,.E),.<span.class
c5620 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 3a 20 ="tok-kw">comptime</span>.mask:.
c5640 73 74 64 2e 6d 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 std.meta.Vector(mask_len,.<span.
c5660 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 20 73 74 class="tok-type">i32</span>)).st
c5680 64 2e 6d 65 74 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 d.meta.Vector(mask_len,.E)</span
c56a0 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 43 ></code></pre>.......<p>.......C
c56c0 6f 6e 73 74 72 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 onstructs.a.new.<a.href="#Vector
c56e0 73 22 3e 76 65 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 s">vector</a>.by.selecting.eleme
c5700 6e 74 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 nts.from.<code><span.class="line
c5720 22 3e 61 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 3c 63 6f 64 ">a</span></code>.and.......<cod
c5740 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
c5760 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 20 63 6c 61 73 73 3d ode>.based.on.<code><span.class=
c5780 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 2e 0a 20 20 20 20 20 "line">mask</span></code>.......
c57a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 .</p>.......<p>.......Each.eleme
c57c0 6e 74 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 6d nt.in.<code><span.class="line">m
c57e0 61 73 6b 3c 2f 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 ask</span></code>.selects.an.ele
c5800 6d 65 6e 74 20 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 ment.from.either.<code><span.cla
c5820 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 ss="line">a</span></code>.or....
c5840 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 62 3c 2f 73 ...<code><span.class="line">b</s
c5860 70 61 6e 3e 3c 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 pan></code>..Positive.numbers.se
c5880 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e lect.from.<code><span.class="lin
c58a0 65 22 3e 61 3c 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 e">a</span></code>.starting.at.0
c58c0 2e 0a 20 20 20 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 ........Negative.values.select.f
c58e0 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 62 3c 2f rom.<code><span.class="line">b</
c5900 73 70 61 6e 3e 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 span></code>,.starting.at.<code>
c5920 3c 73 70 61 6e 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 <span.class="line">-<span.class=
c5940 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-number">1</span></span></co
c5960 64 65 3e 20 61 6e 64 20 67 6f 69 6e 67 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 de>.and.going.down........It.is.
c5980 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 recommended.to.use.the.<code><sp
c59a0 61 6e 20 63 6c 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 an.class="line">~</span></code>.
c59c0 6f 70 65 72 61 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 operator.from.indexes.from.<code
c59e0 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
c5a00 64 65 3e 0a 20 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 de>.......so.that.both.indexes.c
c5a20 61 6e 20 73 74 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 an.start.from.<code><span.class=
c5a40 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">
c5a60 30 3c 2f 73 70 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 0</span></span></code>.(i.e..<co
c5a80 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 63 6c 61 de><span.class="line">~<span.cla
c5aa0 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
c5ac0 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 3c n.class="tok-type">i32</span>,.<
c5ae0 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>
c5b00 29 3c 2f 73 70 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 )</span></code>.is.......<code><
c5b20 73 70 61 6e 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 span.class="line">-<span.class="
c5b40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-number">1</span></span></cod
c5b60 65 3e 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 e>)........</p>.......<p>.......
c5b80 46 6f 72 20 65 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 For.each.element.of.<code><span.
c5ba0 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 2c class="line">mask</span></code>,
c5bc0 20 69 66 20 69 74 20 6f 72 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 76 61 6c 75 65 20 66 72 6f .if.it.or.the.selected.value.fro
c5be0 6d 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 m.......<code><span.class="line"
c5c00 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 >a</span></code>.or.<code><span.
c5c20 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 69 73 20 class="line">b</span></code>.is.
c5c40 3c 63 6f 64 65 3e 3c 73 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
c5c60 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e lass="tok-null">undefined</span>
c5c80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 65 20 72 </span></code>,.......then.the.r
c5ca0 65 73 75 6c 74 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 esulting.element.is.<code><span.
c5cc0 63 6c 61 73 73 3d 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
c5ce0 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 64 ll">undefined</span></span></cod
c5d00 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c e>........</p>.......<p>.......<
c5d20 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 5f 6c 65 6e 3c 2f 73 code><span.class="line">a_len</s
c5d40 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 73 pan></code>.and.<code><span.clas
c5d60 73 3d 22 6c 69 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 s="line">b_len</span></code>.may
c5d80 20 64 69 66 66 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 .differ.in.length..Out-of-bounds
c5da0 20 65 6c 65 6d 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 .element.......indexes.in.<code>
c5dc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f <span.class="line">mask</span></
c5de0 63 6f 64 65 3e 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 code>.result.in.compile.errors..
c5e00 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
c5e20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c ode><span.class="line">a</span><
c5e40 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 6e /code>.or.<code><span.class="lin
c5e60 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 3e 3c 73 70 61 e">b</span></code>.is.<code><spa
c5e80 6e 20 63 6c 61 73 73 3d 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-
c5ea0 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 null">undefined</span></span></c
c5ec0 6f 64 65 3e 2c 20 69 74 0a 20 20 20 20 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 ode>,.it.......is.equivalent.to.
c5ee0 61 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 a.vector.of.all.<code><span.clas
c5f00 73 3d 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">
c5f20 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 20 77 undefined</span></span></code>.w
c5f40 69 74 68 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 20 61 73 20 74 68 65 20 6f 74 68 65 72 ith.the.same.length.as.the.other
c5f60 20 76 65 63 74 6f 72 2e 0a 20 20 20 20 20 20 49 66 20 62 6f 74 68 20 76 65 63 74 6f 72 73 20 61 .vector........If.both.vectors.a
c5f80 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
c5fa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 n.class="tok-null">undefined</sp
c5fc0 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
c5fe0 6c 61 73 73 3d 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
c6000 6c 74 69 6e 22 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 ltin">@shuffle</span></span></co
c6020 64 65 3e 20 72 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 de>.returns.......a.vector.with.
c6040 61 6c 6c 20 65 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 all.elements.<code><span.class="
c6060 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
c6080 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 20 20 efined</span></span></code>.....
c60a0 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 73 ...</p>.......<p>.......<code><s
c60c0 70 61 6e 20 63 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 pan.class="line">E</span></code>
c60e0 20 6d 75 73 74 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e .must.be.an.<a.href="#Integers">
c6100 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 integer</a>,.<a.href="#Floats">f
c6120 6c 6f 61 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 loat</a>,.......<a.href="#Pointe
c6140 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 rs">pointer</a>,.or.<code><span.
c6160 63 6c 61 73 73 3d 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
c6180 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 2e 20 54 pe">bool</span></span></code>..T
c61a0 68 65 20 6d 61 73 6b 20 6d 61 79 20 62 65 20 61 6e 79 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 he.mask.may.be.any.vector.length
c61c0 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 ,.and.its.......length.determine
c61e0 73 20 74 68 65 20 72 65 73 75 6c 74 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a s.the.result.length........</p>.
c6200 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=
c6220 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
c6240 74 6f 72 5f 73 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 tor_shuffle.zig</cite></figcapti
c6260 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"
c6280 3e 3c 73 70 61 6e 20 63 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
c62a0 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
c62c0 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
c62e0 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>);
c6300 3c 2f 73 70 61 6e 3e 0a 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
c6320 20 63 6c 61 73 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 .class="tok-kw">const</span>.Vec
c6340 74 6f 72 20 3d 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 tor.=.std.meta.Vector;</span>.<s
c6360 70 61 6e 20 63 6c 61 73 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
c6380 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
c63a0 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
c63c0 73 73 3d 22 6c 69 6e 65 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
c63e0 69 6e 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</
c6400 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
c6420 74 3b 76 65 63 74 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b t;vector.@shuffle&quot;</span>.{
c6440 3c 2f 73 70 61 6e 3e 0a 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">....<
c6460 73 70 61 6e 20 63 6c 61 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>
c6480 20 61 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 62 .a:.Vector(<span.class="tok-numb
c64a0 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 er">7</span>,.<span.class="tok-t
c64c0 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 73 ype">u8</span>).=.[_]<span.class
c64e0 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 61 ="tok-type">u8</span>{.<span.cla
c6500 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ss="tok-str">'o'</span>,.<span.c
c6520 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e lass="tok-str">'l'</span>,.<span
c6540 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
c6560 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>,.<
c6580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 72 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'r'</span>,
c65a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f 73 70 61 6e .<span.class="tok-str">'z'</span
c65c0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 >,.<span.class="tok-str">'w'</sp
c65e0 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"
c6600 3e 20 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<
c6620 2f 73 70 61 6e 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 /span>.b:.Vector(<span.class="to
c6640 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=
c6660 22 74 6f 6b 2d 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 "tok-type">u8</span>).=.[_]<span
c6680 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 70 .class="tok-type">u8</span>{.<sp
c66a0 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 2c 20 3c an.class="tok-str">'w'</span>,.<
c66c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'d'</span>,
c66e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 21 27 3c 2f 73 70 61 6e .<span.class="tok-str">'!'</span
c6700 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 78 27 3c 2f 73 70 >,.<span.class="tok-str">'x'</sp
c6720 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"
c6740 3e 3c 2f 73 70 61 6e 3e 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">....
c6760 3c 73 70 61 6e 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 <span.class="tok-comment">//.To.
c6780 73 68 75 66 66 6c 65 20 77 69 74 68 69 6e 20 61 20 73 69 6e 67 6c 65 20 76 65 63 74 6f 72 2c 20 shuffle.within.a.single.vector,.
c67a0 70 61 73 73 20 75 6e 64 65 66 69 6e 65 64 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 pass.undefined.as.the.second.arg
c67c0 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
c67e0 3d 22 6c 69 6e 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
c6800 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 69 63 65 20 74 68 61 74 20 77 65 20 63 61 6e 20 72 65 2d 6f ment">//.Notice.that.we.can.re-o
c6820 72 64 65 72 2c 20 64 75 70 6c 69 63 61 74 65 2c 20 6f 72 20 6f 6d 69 74 20 65 6c 65 6d 65 6e 74 rder,.duplicate,.or.omit.element
c6840 73 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 s.of.the.input.vector</span></sp
c6860 61 6e 3e 0a 3c 73 70 61 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
c6880 20 63 6c 61 73 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 .class="tok-kw">const</span>.mas
c68a0 6b 31 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 62 k1:.Vector(<span.class="tok-numb
c68c0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 er">5</span>,.<span.class="tok-t
c68e0 79 70 65 22 3e 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 ype">i32</span>).=.[_]<span.clas
c6900 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>{.<span.c
c6920 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">2</span>,.<spa
c6940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">3</span>,.<
c6960 73 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>
c6980 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 ,.<span.class="tok-number">1</sp
c69a0 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<
c69c0 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
c69e0 6e 65 22 3e 20 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
c6a00 73 74 3c 2f 73 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 st</span>.res1:.Vector(<span.cla
c6a20 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.
c6a40 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 3d 20 3c 73 class="tok-type">u8</span>).=.<s
c6a60 70 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
c6a80 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>(<span.class="tok-type">u
c6aa0 38 3c 2f 73 70 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 8</span>,.a,.<span.class="tok-nu
c6ac0 6c 6c 22 3e 75 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 ll">undefined</span>,.mask1);</s
c6ae0 70 61 6e 3e 0a 3c 73 70 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
c6b00 6e 20 63 6c 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
c6b20 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 6b 2d ct(std.mem.eql(<span.class="tok-
c6b40 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 type">u8</span>,.&amp;<span.clas
c6b60 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 3c 73 70 61 s="tok-builtin">@as</span>([<spa
c6b80 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 3c 73 n.class="tok-number">5</span>]<s
c6ba0 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>,.
c6bc0 72 65 73 31 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 75 res1),.<span.class="tok-str">&qu
c6be0 6f 74 3b 68 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 ot;hello&quot;</span>));</span>.
c6c00 3c 73 70 61 6e 20 63 6c 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
c6c20 20 63 6c 61 73 73 3d 22 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
c6c40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 62 69 6e 69 6e 67 20 74 77 6f 20 76 65 63 ok-comment">//.Combining.two.vec
c6c60 74 6f 72 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 tors</span></span>.<span.class="
c6c80 6c 69 6e 65 22 3e 20 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
c6ca0 6f 6e 73 74 3c 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 onst</span>.mask2:.Vector(<span.
c6cc0 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
c6ce0 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>).
c6d00 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 32 3c =.[_]<span.class="tok-type">i32<
c6d20 2f 73 70 61 6e 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 /span>{.-<span.class="tok-number
c6d40 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
c6d60 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">0</span>,.<span.class="tok-
c6d80 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">4</span>,.<span.class="t
c6da0 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 6c 61 73 ok-number">1</span>,.-<span.clas
c6dc0 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 2d 3c 73 70 61 6e 20 s="tok-number">2</span>,.-<span.
c6de0 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 7d 3b 3c 2f class="tok-number">3</span>.};</
c6e00 73 70 61 6e 3e 0a 3c 73 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
c6e20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 an.class="tok-kw">const</span>.r
c6e40 65 73 32 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 es2:.Vector(<span.class="tok-num
c6e60 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 73 3d 22 74 6f 6b 2d ber">6</span>,.<span.class="tok-
c6e80 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u8</span>).=.<span.class="
c6ea0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 tok-builtin">@shuffle</span>(<sp
c6ec0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 an.class="tok-type">u8</span>,.a
c6ee0 2c 20 62 2c 20 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 ,.b,.mask2);</span>.<span.class=
c6f00 22 6c 69 6e 65 22 3e 20 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">
c6f20 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
c6f40 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>,.
c6f60 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">@
c6f80 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
c6fa0 65 72 22 3e 36 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">6</span>]<span.class="tok-ty
c6fc0 70 65 22 3e 75 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 pe">u8</span>,.res2),.<span.clas
c6fe0 73 3d 22 74 6f 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 s="tok-str">&quot;world!&quot;</
c7000 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
c7020 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
c7040 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
c7060 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
c7080 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
c70a0 67 20 74 65 73 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 g.test.vector_shuffle.zig</kbd><
c70c0 2f 73 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
c70e0 73 74 20 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 2e 2e st.&quot;vector.@shuffle&quot;..
c7100 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
c7120 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
c7140 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
c7160 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 so:</p><ul>.<li><a.href="#Vector
c7180 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 s">Vectors</a></li>.</ul>.......
c71a0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 69 7a 65 4f 66 22 3e 3c 61 20 68 72 65 66 .........<h3.id="sizeOf"><a.href
c71c0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c ="nav.xhtml#toc-sizeOf">@sizeOf<
c71e0 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 69 7a 65 4f 66 /a>.<a.class="hdr".href="#sizeOf
c7200 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>
c7220 3c 73 70 61 6e 20 63 6c 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="
c7240 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@sizeOf</span>(<spa
c7260 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>
c7280 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<
c72a0 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 63 /span>).<span.class="tok-type">c
c72c0 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 3e omptime_int</span></span></code>
c72e0 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
c7300 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 tion.returns.the.number.of.bytes
c7320 20 69 74 20 74 61 6b 65 73 20 74 6f 20 73 74 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .it.takes.to.store.<code><span.c
c7340 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 69 6e 20 6d lass="line">T</span></code>.in.m
c7360 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 emory........The.result.is.a.tar
c7380 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 get-specific.compile.time.consta
c73a0 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 nt........</p>.......<p>.......T
c73c0 68 69 73 20 73 69 7a 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 70 61 64 64 69 6e 67 20 62 79 74 his.size.may.contain.padding.byt
c73e0 65 73 2e 20 49 66 20 74 68 65 72 65 20 77 65 72 65 20 74 77 6f 20 63 6f 6e 73 65 63 75 74 69 76 es..If.there.were.two.consecutiv
c7400 65 20 54 20 69 6e 20 6d 65 6d 6f 72 79 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 74 68 65 e.T.in.memory,.this.would.be.the
c7420 20 6f 66 66 73 65 74 0a 20 20 20 20 20 20 69 6e 20 62 79 74 65 73 20 62 65 74 77 65 65 6e 20 65 .offset.......in.bytes.between.e
c7440 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 30 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e lement.at.index.0.and.the.elemen
c7460 74 20 61 74 20 69 6e 64 65 78 20 31 2e 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 t.at.index.1..For.<a.href="#Inte
c7480 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 63 6f 6e 73 69 64 65 gers">integer</a>,.......conside
c74a0 72 20 77 68 65 74 68 65 72 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e r.whether.you.want.to.use.<code>
c74c0 3c 73 70 61 6e 20 63 6c 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="
c74e0 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 54 29 3c 2f tok-builtin">@sizeOf</span>(T)</
c7500 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
c7520 6e 20 63 6c 61 73 73 3d 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-
c7540 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 builtin">@typeInfo</span>(T).Int
c7560 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a .bits</span></code>........</p>.
c7580 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 6d 65 ......<p>.......This.function.me
c75a0 61 73 75 72 65 73 20 74 68 65 20 73 69 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 asures.the.size.at.runtime..For.
c75c0 74 79 70 65 73 20 74 68 61 74 20 61 72 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e types.that.are.disallowed.at.run
c75e0 74 69 6d 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 time,.such.as.......<code><span.
c7600 63 6c 61 73 73 3d 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
c7620 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 3c 2f pe">comptime_int</span></span></
c7640 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
c7660 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 3c 2f e"><span.class="tok-type">type</
c7680 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 72 65 73 75 6c 74 20 span></span></code>,.the.result.
c76a0 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
c76c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-number">0</span></s
c76e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 pan></code>........</p>.......<p
c7700 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="
c7720 23 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a #bitSizeOf">@bitSizeOf</a></li>.
c7740 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 <li><a.href="#typeInfo">@typeInf
c7760 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 o</a></li>.</ul>................
c7780 3c 68 33 20 69 64 3d 22 73 70 6c 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d <h3.id="splat"><a.href="nav.xhtm
c77a0 6c 23 74 6f 63 2d 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 l#toc-splat">@splat</a>.<a.class
c77c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ="hdr".href="#splat">..</a></h3>
c77e0 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="
c7800 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">
c7820 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b @splat</span>(<span.class="tok-k
c7840 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c w">comptime</span>.len:.<span.cl
c7860 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 73 63 61 6c 61 ass="tok-type">u32</span>,.scala
c7880 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c r:.<span.class="tok-kw">anytype<
c78a0 2f 73 70 61 6e 3e 29 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 /span>).std.meta.Vector(len,.<sp
c78c0 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</
c78e0 73 70 61 6e 3e 28 73 63 61 6c 61 72 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 span>(scalar))</span></code></pr
c7900 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 64 75 63 65 73 20 61 20 76 65 e>.......<p>.......Produces.a.ve
c7920 63 74 6f 72 20 6f 66 20 6c 65 6e 67 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ctor.of.length.<code><span.class
c7940 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 77 68 65 72 65 20 ="line">len</span></code>.where.
c7960 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 each.element.is.the.value.......
c7980 3c 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 63 61 6c 61 72 3c <code><span.class="line">scalar<
c79a0 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>.......
c79c0 3c 66 69 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
c79e0 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 70 ap"><cite.class="file">vector_sp
c7a00 6c 61 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e lat.zig</cite></figcaption><pre>
c7a20 3c 63 6f 64 65 3e 3c 73 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
c7a40 6c 61 73 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.=
c7a60 20 3c 73 70 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
c7a80 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">
c7aa0 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>.
c7ac0 3c 73 70 61 6e 20 63 6c 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="
c7ae0 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
c7b00 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
c7b20 6c 61 73 73 3d 22 6c 69 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=
c7b40 22 6c 69 6e 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
c7b60 3c 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
c7b80 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b uot;vector.@splat&quot;</span>.{
c7ba0 3c 2f 73 70 61 6e 3e 0a 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">....<
c7bc0 73 70 61 6e 20 63 6c 61 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>
c7be0 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 74 79 70 65 22 3e .scalar:.<span.class="tok-type">
c7c00 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
c7c20 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 63 6c 61 mber">5</span>;</span>.<span.cla
c7c40 73 73 3d 22 6c 69 6e 65 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
c7c60 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 w">const</span>.result.=.<span.c
c7c80 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e lass="tok-builtin">@splat</span>
c7ca0 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
c7cc0 6e 3e 2c 20 73 63 61 6c 61 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>,.scalar);</span>.<span.class=
c7ce0 22 6c 69 6e 65 22 3e 20 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">
c7d00 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 6b comptime</span>.<span.class="tok
c7d20 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
c7d40 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>(
c7d60 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 72 28 3c 73 70 61 6e result).==.std.meta.Vector(<span
c7d80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">4</span>,.<s
c7da0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">u32</span>)
c7dc0 29 3b 3c 2f 73 70 61 6e 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">...
c7de0 20 3c 73 70 61 6e 20 63 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>
c7e00 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d .expect(std.mem.eql(<span.class=
c7e20 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 "tok-type">u32</span>,.&amp;<spa
c7e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e n.class="tok-builtin">@as</span>
c7e60 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 34 3c 2f 73 70 ([<span.class="tok-number">4</sp
c7e80 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 33 32 3c 2f an>]<span.class="tok-type">u32</
c7ea0 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c span>,.result),.&amp;[_]<span.cl
c7ec0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e ass="tok-type">u32</span>{.<span
c7ee0 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
c7f00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">5</span>,
c7f20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 .<span.class="tok-number">5</spa
c7f40 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 35 3c 2f n>,.<span.class="tok-number">5</
c7f60 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
c7f80 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
c7fa0 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
c7fc0 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>
c7fe0 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>
c8000 7a 69 67 20 74 65 73 74 20 76 65 63 74 6f 72 5f 73 70 6c 61 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c zig.test.vector_splat.zig</kbd><
c8020 2f 73 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
c8040 73 74 20 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 2e 2e 2e 20 st.&quot;vector.@splat&quot;....
c8060 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
c8080 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><
c80a0 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 3c /pre></figure>.......<p>.......<
c80c0 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 63 61 6c 61 72 3c 2f code><span.class="line">scalar</
c80e0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d span></code>.must.be.an.<a.href=
c8100 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 "#Integers">integer</a>,.<a.href
c8120 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 2c 0a 20 20 ="#Primitive-Types">bool</a>,...
c8140 20 20 20 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 2f 61 3e 2c ....<a.href="#Floats">float</a>,
c8160 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c .or.<a.href="#Pointers">pointer<
c8180 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 /a>........</p>.......<p>See.als
c81a0 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 o:</p><ul>.<li><a.href="#Vectors
c81c0 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 ">Vectors</a></li>.<li><a.href="
c81e0 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c #shuffle">@shuffle</a></li>.</ul
c8200 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 72 65 64 75 63 65 22 >................<h3.id="reduce"
c8220 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 72 65 64 75 63 65 22 3e ><a.href="nav.xhtml#toc-reduce">
c8240 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=
c8260 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
c8280 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
c82a0 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
c82c0 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
c82e0 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
c8300 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
c8320 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
c8340 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>.......<
c8360 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="#
c8380 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
c83a0 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
c83c0 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
c83e0 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
c8400 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
c8420 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>
c8440 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
c8460 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
c8480 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>......
c84a0 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.
c84c0 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>,
c84e0 20 3c 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
c8500 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><
c8520 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
c8540 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..........
c8560 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
c8580 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></
c85a0 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>......
c85c0 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
c85e0 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
c8600 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
c8620 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
c8640 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
c8660 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>
c8680 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
c86a0 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
c86c0 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>........
c86e0 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
c8700 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
c8720 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>
c8740 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
c8760 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><
c8780 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
c87a0 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
c87c0 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
c87e0 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
c8800 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
c8820 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
c8840 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.
c8860 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
c8880 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>.
c88a0 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=
c88c0 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
c88e0 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
c8900 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">
c8920 3c 73 70 61 6e 20 63 6c 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
c8940 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
c8960 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
c8980 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>);<
c89a0 2f 73 70 61 6e 3e 0a 3c 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.
c89c0 63 6c 61 73 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
c89e0 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>.
c8a00 3c 73 70 61 6e 20 63 6c 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
c8a20 20 63 6c 61 73 73 3d 22 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
c8a40 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-
c8a60 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;<
c8a80 2f 73 70 61 6e 3e 20 7b 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
c8aa0 65 22 3e 20 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
c8ac0 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(
c8ae0 3c 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
c8b00 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
c8b20 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
c8b40 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
c8b60 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
c8b80 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
c8ba0 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
c8bc0 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
c8be0 70 61 6e 3e 0a 3c 73 70 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
c8c00 6e 20 63 6c 61 73 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
c8c20 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
c8c40 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.
c8c60 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
c8c80 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
c8ca0 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
c8cc0 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<
c8ce0 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
c8d00 6e 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
c8d20 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
c8d40 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
c8d60 20 63 6c 61 73 73 3d 22 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
c8d80 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
c8da0 73 73 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
c8dc0 70 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<
c8de0 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
c8e00 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
c8e20 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
c8e40 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
c8e60 69 6e 65 22 3e 20 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
c8e80 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
c8ea0 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
c8ec0 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
c8ee0 61 73 73 3d 22 6c 69 6e 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-
c8f00 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=
c8f20 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
c8f40 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
c8f60 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=
c8f80 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>.
c8fa0 3c 73 70 61 6e 20 63 6c 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
c8fc0 73 73 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
c8fe0 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
c9000 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.
c9020 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
c9040 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
c9060 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
c9080 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"
c90a0 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
c90c0 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
c90e0 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
c9100 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=
c9120 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
c9140 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>.......<
c9160 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=
c9180 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>
c91a0 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
c91c0 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>............
c91e0 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 6e 61 76 2e 78 68 ....<h3.id="src"><a.href="nav.xh
c9200 74 6d 6c 23 74 6f 63 2d 73 72 63 22 3e 40 73 72 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 tml#toc-src">@src</a>.<a.class="
c9220 68 64 72 22 20 68 72 65 66 3d 22 23 73 72 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 hdr".href="#src">..</a></h3>....
c9240 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
c9260 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 72 63 "><span.class="tok-builtin">@src
c9280 3c 2f 73 70 61 6e 3e 28 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 53 6f 75 72 63 65 4c 6f 63 61 </span>().std.builtin.SourceLoca
c92a0 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c tion</span></code></pre>.......<
c92c0 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 p>.......Returns.a.<code><span.c
c92e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 73 70 61 6e lass="line">SourceLocation</span
c9300 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 ></code>.struct.representing.the
c9320 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e 61 6d 65 20 61 6e 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e .function's.name.and.location.in
c9340 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 63 .the.source.code..This.must.be.c
c9360 61 6c 6c 65 64 20 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a alled.in.a.function........</p>.
c9380 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=
c93a0 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 6f 75 "zig-cap"><cite.class="file">sou
c93c0 72 63 65 5f 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 rce_location.zig</cite></figcapt
c93e0 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
c9400 22 3e 3c 73 70 61 6e 20 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
c9420 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
c9440 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="
c9460 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>)
c9480 3b 3c 2f 73 70 61 6e 3e 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
c94a0 6e 20 63 6c 61 73 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
c94c0 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
c94e0 3e 0a 3c 73 70 61 6e 20 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
c9500 61 6e 20 63 6c 61 73 73 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
c9520 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
c9540 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 73 72 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b k-str">&quot;@src&quot;</span>.{
c9560 3c 2f 73 70 61 6e 3e 0a 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">....<
c9580 73 70 61 6e 20 63 6c 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 span.class="tok-kw">try</span>.d
c95a0 6f 54 68 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 oTheTest();</span>.<span.class="
c95c0 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
c95e0 22 3e 3c 2f 73 70 61 6e 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
c9600 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
c9620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 54 68 65 54 65 73 74 3c 2f 73 70 61 6e n.class="tok-fn">doTheTest</span
c9640 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
c9660 3c 2f 73 70 61 6e 3e 20 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
c9680 6e 65 22 3e 20 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
c96a0 73 74 3c 2f 73 70 61 6e 3e 20 73 72 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.src.=.<span.class="tok
c96c0 2d 62 75 69 6c 74 69 6e 22 3e 40 73 72 63 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a -builtin">@src</span>();</span>.
c96e0 3c 73 70 61 6e 20 63 6c 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
c9700 20 63 6c 61 73 73 3d 22 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
c9720 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 72 63 2e 6c 69 6e ok-kw">try</span>.expect(src.lin
c9740 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<
c9760 2f 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
c9780 65 22 3e 20 20 20 20 3c 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<
c97a0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 72 63 2e 63 6f 6c 75 6d 6e 20 3d 3d 20 3c 73 70 61 /span>.expect(src.column.==.<spa
c97c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 37 3c 2f 73 70 61 6e 3e 29 3b n.class="tok-number">17</span>);
c97e0 3c 2f 73 70 61 6e 3e 0a 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">....<
c9800 73 70 61 6e 20 63 6c 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
c9820 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 xpect(std.mem.endsWith(<span.cla
c9840 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 6e 5f ss="tok-type">u8</span>,.src.fn_
c9860 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f name,.<span.class="tok-str">&quo
c9880 74 3b 64 6f 54 68 65 54 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 t;doTheTest&quot;</span>));</spa
c98a0 6e 3e 0a 3c 73 70 61 6e 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.
c98c0 63 6c 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
c98e0 28 73 74 64 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 (std.mem.endsWith(<span.class="t
c9900 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 69 6c 65 2c 20 3c 73 ok-type">u8</span>,.src.file,.<s
c9920 70 61 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 75 72 63 65 pan.class="tok-str">&quot;source
c9940 5f 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 _location.zig&quot;</span>));</s
c9960 70 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>
c9980 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
c99a0 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
c99c0 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
c99e0 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 6f 75 72 lass="line">$.<kbd>zig.test.sour
c9a00 63 65 5f 6c 6f 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 ce_location.zig</kbd></span>.<sp
c9a20 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 40 an.class="line">1/1.test.&quot;@
c9a40 73 72 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 src&quot;....OK</span>.<span.cla
c9a60 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
c9a80 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>.....
c9aa0 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 71 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 .........<h3.id="sqrt"><a.href="
c9ac0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 71 72 74 22 3e 40 73 71 72 74 3c 2f 61 3e 20 3c 61 nav.xhtml#toc-sqrt">@sqrt</a>.<a
c9ae0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 71 72 74 22 3e c2 a7 3c 2f 61 3e .class="hdr".href="#sqrt">..</a>
c9b00 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
c9b20 61 73 73 3d 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
c9b40 74 69 6e 22 3e 40 73 71 72 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 tin">@sqrt</span>(value:.<span.c
c9b60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 lass="tok-kw">anytype</span>).<s
c9b80 70 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<
c9ba0 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 /span>(value)</span></code></pre
c9bc0 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 73 >.......<p>.......Performs.the.s
c9be0 71 75 61 72 65 20 72 6f 6f 74 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e quare.root.of.a.floating.point.n
c9c00 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 umber..Uses.a.dedicated.hardware
c9c20 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c .instruction.......when.availabl
c9c40 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 e........</p>.......<p>.......Su
c9c60 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c pports.<a.href="#Floats">Floats<
c9c80 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f /a>.and.<a.href="#Vectors">Vecto
c9ca0 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 76 65 61 rs</a>.of.floats,.with.the.cavea
c9cc0 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 2f 67 69 t.that.......<a.href="https://gi
c9ce0 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 30 32 36 thub.com/ziglang/zig/issues/4026
c9d00 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 6f 74 20 ">some.float.operations.are.not.
c9d20 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 20 74 79 yet.implemented.for.all.float.ty
c9d40 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 20 20 20 pes</a>........</p>.............
c9d60 20 3c 68 33 20 69 64 3d 22 73 69 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c .<h3.id="sin"><a.href="nav.xhtml
c9d80 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 3d 22 68 64 72 #toc-sin">@sin</a>.<a.class="hdr
c9da0 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 20 20 20 20 20 ".href="#sin">..</a></h3>.......
c9dc0 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"><
c9de0 73 70 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 6e 3c 2f 73 span.class="tok-builtin">@sin</s
c9e00 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"
c9e20 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
c9e40 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)
c9e60 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>..
c9e80 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 63 74 69 6f 6e .....Sine.trigonometric.function
c9ea0 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 65 .on.a.floating.point.number..Use
c9ec0 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 69 s.a.dedicated.hardware.instructi
c9ee0 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 3c on.......when.available........<
c9f00 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 /p>.......<p>.......Supports.<a.
c9f20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 href="#Floats">Floats</a>.and.<a
c9f40 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 .href="#Vectors">Vectors</a>.of.
c9f60 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 20 floats,.with.the.caveat.that....
c9f80 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 7a ...<a.href="https://github.com/z
c9fa0 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 6f iglang/zig/issues/4026">some.flo
c9fc0 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 6d at.operations.are.not.yet.implem
c9fe0 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 20 ented.for.all.float.types</a>...
ca000 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 63 .....</p>..............<h3.id="c
ca020 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 6f 73 22 3e os"><a.href="nav.xhtml#toc-cos">
ca040 40 63 6f 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 @cos</a>.<a.class="hdr".href="#c
ca060 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 os">..</a></h3>........<pre><cod
ca080 65 3e 3c 73 70 61 6e 20 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
ca0a0 3d 22 74 6f 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 ="tok-builtin">@cos</span>(value
ca0c0 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</
ca0e0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>).<span.class="tok-builtin"
ca100 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 >@TypeOf</span>(value)</span></c
ca120 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 73 69 6e ode></pre>.......<p>.......Cosin
ca140 65 20 74 72 69 67 6f 6e 6f 6d 65 74 72 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c e.trigonometric.function.on.a.fl
ca160 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
ca180 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......
ca1a0 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>.....
ca1c0 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
ca1e0 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="#
ca200 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,.
ca220 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
ca240 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
ca260 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
ca280 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
ca2a0 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
ca2c0 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 22 3e 3c 61 20 68 >..............<h3.id="exp"><a.h
ca2e0 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e ref="nav.xhtml#toc-exp">@exp</a>
ca300 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 22 3e c2 a7 3c 2f .<a.class="hdr".href="#exp">..</
ca320 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.
ca340 63 6c 61 73 73 3d 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
ca360 69 6c 74 69 6e 22 3e 40 65 78 70 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 iltin">@exp</span>(value:.<span.
ca380 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>).<
ca3a0 73 70 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
ca3c0 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
ca3e0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 61 73 65 2d 65 20 65 78 70 6f 6e 65 e>.......<p>.......Base-e.expone
ca400 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 ntial.function.on.a.floating.poi
ca420 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 nt.number..Uses.a.dedicated.hard
ca440 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 ware.instruction.......when.avai
ca460 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>.....
ca480 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
ca4a0 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
ca4c0 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
ca4e0 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:
ca500 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/
ca520 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.
ca540 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
ca560 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>.........
ca580 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 32 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e .....<h3.id="exp2"><a.href="nav.
ca5a0 78 68 74 6d 6c 23 74 6f 63 2d 65 78 70 32 22 3e 40 65 78 70 32 3c 2f 61 3e 20 3c 61 20 63 6c 61 xhtml#toc-exp2">@exp2</a>.<a.cla
ca5c0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 70 32 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ss="hdr".href="#exp2">..</a></h3
ca5e0 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=
ca600 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"
ca620 3e 40 65 78 70 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 >@exp2</span>(value:.<span.class
ca640 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ="tok-kw">anytype</span>).<span.
ca660 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
ca680 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 n>(value)</span></code></pre>...
ca6a0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 61 73 65 2d 32 20 65 78 70 6f 6e 65 6e 74 69 61 6c ....<p>.......Base-2.exponential
ca6c0 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 .function.on.a.floating.point.nu
ca6e0 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 mber..Uses.a.dedicated.hardware.
ca700 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 instruction.......when.available
ca720 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 ........</p>.......<p>.......Sup
ca740 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f ports.<a.href="#Floats">Floats</
ca760 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 a>.and.<a.href="#Vectors">Vector
ca780 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 76 65 61 74 s</a>.of.floats,.with.the.caveat
ca7a0 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 2f 67 69 74 .that.......<a.href="https://git
ca7c0 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 30 32 36 22 hub.com/ziglang/zig/issues/4026"
ca7e0 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 6f 74 20 79 >some.float.operations.are.not.y
ca800 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 20 74 79 70 et.implemented.for.all.float.typ
ca820 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 20 20 20 20 es</a>........</p>..............
ca840 3c 68 33 20 69 64 3d 22 6c 6f 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 <h3.id="log"><a.href="nav.xhtml#
ca860 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 22 toc-log">@log</a>.<a.class="hdr"
ca880 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 20 .href="#log">..</a></h3>........
ca8a0 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
ca8c0 70 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 70 pan.class="tok-builtin">@log</sp
ca8e0 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 3e an>(value:.<span.class="tok-kw">
ca900 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
ca920 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 3c -builtin">@TypeOf</span>(value)<
ca940 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>...
ca960 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 68 ....Returns.the.natural.logarith
ca980 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 73 m.of.a.floating.point.number..Us
ca9a0 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
ca9c0 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........
ca9e0 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
caa00 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.<
caa20 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
caa40 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...
caa60 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/
caa80 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
caaa0 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
caac0 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>..
caae0 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="
cab00 6c 6f 67 32 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6c 6f 67 log2"><a.href="nav.xhtml#toc-log
cab20 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 2">@log2</a>.<a.class="hdr".href
cab40 3d 22 23 6c 6f 67 32 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 ="#log2">..</a></h3>........<pre
cab60 3e 3c 63 6f 64 65 3e 3c 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.
cab80 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 32 3c 2f 73 70 61 6e 3e class="tok-builtin">@log2</span>
caba0 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 (value:.<span.class="tok-kw">any
cabc0 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 type</span>).<span.class="tok-bu
cabe0 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 iltin">@TypeOf</span>(value)</sp
cac00 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>......
cac20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 .Returns.the.logarithm.to.the.ba
cac40 73 65 20 32 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 se.2.of.a.floating.point.number.
cac60 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 72 .Uses.a.dedicated.hardware.instr
cac80 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 20 uction.......when.available.....
caca0 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 73 ...</p>.......<p>.......Supports
cacc0 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 6e .<a.href="#Floats">Floats</a>.an
cace0 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 3e d.<a.href="#Vectors">Vectors</a>
cad00 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 74 .of.floats,.with.the.caveat.that
cad20 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 63 .......<a.href="https://github.c
cad40 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 65 om/ziglang/zig/issues/4026">some
cad60 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 6d .float.operations.are.not.yet.im
cad80 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 61 plemented.for.all.float.types</a
cada0 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 69 >........</p>..............<h3.i
cadc0 64 3d 22 6c 6f 67 31 30 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 d="log10"><a.href="nav.xhtml#toc
cade0 2d 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 -log10">@log10</a>.<a.class="hdr
cae00 22 20 68 72 65 66 3d 22 23 6c 6f 67 31 30 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ".href="#log10">..</a></h3>.....
cae20 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"
cae40 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 67 31 ><span.class="tok-builtin">@log1
cae60 30 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 0</span>(value:.<span.class="tok
cae80 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
caea0 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
caec0 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>.......<
caee0 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 p>.......Returns.the.logarithm.t
caf00 6f 20 74 68 65 20 62 61 73 65 20 31 30 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e o.the.base.10.of.a.floating.poin
caf20 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
caf40 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
caf60 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>......
caf80 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
cafa0 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
cafc0 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
cafe0 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:/
cb000 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
cb020 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
cb040 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
cb060 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>..........
cb080 20 20 20 20 3c 68 33 20 69 64 3d 22 66 61 62 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 ....<h3.id="fabs"><a.href="nav.x
cb0a0 68 74 6d 6c 23 74 6f 63 2d 66 61 62 73 22 3e 40 66 61 62 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 html#toc-fabs">@fabs</a>.<a.clas
cb0c0 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 3e 3c 2f 68 33 3e s="hdr".href="#fabs">..</a></h3>
cb0e0 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="
cb100 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">
cb120 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 63 6c 61 73 73 3d @fabs</span>(value:.<span.class=
cb140 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
cb160 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
cb180 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>....
cb1a0 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 62 73 6f 6c 75 74 ...<p>.......Returns.the.absolut
cb1c0 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 74 20 6e 75 6d 62 e.value.of.a.floating.point.numb
cb1e0 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e er..Uses.a.dedicated.hardware.in
cb200 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a struction.......when.available..
cb220 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f ......</p>.......<p>.......Suppo
cb240 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e rts.<a.href="#Floats">Floats</a>
cb260 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 3c .and.<a.href="#Vectors">Vectors<
cb280 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 76 65 61 74 20 74 /a>.of.floats,.with.the.caveat.t
cb2a0 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 2f 67 69 74 68 75 hat.......<a.href="https://githu
cb2c0 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 30 32 36 22 3e 73 b.com/ziglang/zig/issues/4026">s
cb2e0 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 6f 74 20 79 65 74 ome.float.operations.are.not.yet
cb300 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 20 74 79 70 65 73 .implemented.for.all.float.types
cb320 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 3c 68 </a>........</p>..............<h
cb340 33 20 69 64 3d 22 66 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 3.id="floor"><a.href="nav.xhtml#
cb360 74 6f 63 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 toc-floor">@floor</a>.<a.class="
cb380 68 64 72 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 hdr".href="#floor">..</a></h3>..
cb3a0 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
cb3c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 ne"><span.class="tok-builtin">@f
cb3e0 6c 6f 6f 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 loor</span>(value:.<span.class="
cb400 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c tok-kw">anytype</span>).<span.cl
cb420 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e ass="tok-builtin">@TypeOf</span>
cb440 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 20 (value)</span></code></pre>.....
cb460 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 61 72 67 65 73 74 20 ..<p>.......Returns.the.largest.
cb480 69 6e 74 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 integral.value.not.greater.than.
cb4a0 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e the.given.floating.point.number.
cb4c0 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 .......Uses.a.dedicated.hardware
cb4e0 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 .instruction.when.available.....
cb500 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 73 ...</p>.......<p>.......Supports
cb520 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 6e .<a.href="#Floats">Floats</a>.an
cb540 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 3e d.<a.href="#Vectors">Vectors</a>
cb560 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 74 .of.floats,.with.the.caveat.that
cb580 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 63 .......<a.href="https://github.c
cb5a0 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 65 om/ziglang/zig/issues/4026">some
cb5c0 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 6d .float.operations.are.not.yet.im
cb5e0 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 61 plemented.for.all.float.types</a
cb600 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 69 >........</p>..............<h3.i
cb620 64 3d 22 63 65 69 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d d="ceil"><a.href="nav.xhtml#toc-
cb640 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ceil">@ceil</a>.<a.class="hdr".h
cb660 72 65 66 3d 22 23 63 65 69 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ref="#ceil">..</a></h3>........<
cb680 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
cb6a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 an.class="tok-builtin">@ceil</sp
cb6c0 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 3e an>(value:.<span.class="tok-kw">
cb6e0 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
cb700 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 3c -builtin">@TypeOf</span>(value)<
cb720 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>...
cb740 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 69 6e 74 65 67 72 61 ....Returns.the.smallest.integra
cb760 6c 20 76 61 6c 75 65 20 6e 6f 74 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 l.value.not.less.than.the.given.
cb780 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 20 20 20 20 55 73 65 floating.point.number........Use
cb7a0 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 69 s.a.dedicated.hardware.instructi
cb7c0 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 on.when.available........</p>...
cb7e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 ....<p>.......Supports.<a.href="
cb800 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d #Floats">Floats</a>.and.<a.href=
cb820 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 "#Vectors">Vectors</a>.of.floats
cb840 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 61 20 ,.with.the.caveat.that.......<a.
cb860 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 6e 67 href="https://github.com/ziglang
cb880 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 70 65 /zig/issues/4026">some.float.ope
cb8a0 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 64 20 rations.are.not.yet.implemented.
cb8c0 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 20 3c for.all.float.types</a>........<
cb8e0 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 72 75 6e 63 22 3e /p>..............<h3.id="trunc">
cb900 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 74 72 75 6e 63 22 3e 40 74 <a.href="nav.xhtml#toc-trunc">@t
cb920 72 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 74 runc</a>.<a.class="hdr".href="#t
cb940 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 3c 63 runc">..</a></h3>........<pre><c
cb960 6f 64 65 3e 3c 73 70 61 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
cb980 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 76 ss="tok-builtin">@trunc</span>(v
cb9a0 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 alue:.<span.class="tok-kw">anyty
cb9c0 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pe</span>).<span.class="tok-buil
cb9e0 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 6e tin">@TypeOf</span>(value)</span
cba00 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 ></code></pre>.......<p>.......R
cba20 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e ounds.the.given.floating.point.n
cba40 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 6f 77 61 72 64 73 20 7a 65 72 umber.to.an.integer,.towards.zer
cba60 6f 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 o........Uses.a.dedicated.hardwa
cba80 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 re.instruction.when.available...
cbaa0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 .....</p>.......<p>.......Suppor
cbac0 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 ts.<a.href="#Floats">Floats</a>.
cbae0 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f and.<a.href="#Vectors">Vectors</
cbb00 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 76 65 61 74 20 74 68 a>.of.floats,.with.the.caveat.th
cbb20 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 2f 67 69 74 68 75 62 at.......<a.href="https://github
cbb40 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 30 32 36 22 3e 73 6f .com/ziglang/zig/issues/4026">so
cbb60 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 6f 74 20 79 65 74 20 me.float.operations.are.not.yet.
cbb80 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 20 74 79 70 65 73 3c implemented.for.all.float.types<
cbba0 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 3c 68 33 /a>........</p>..............<h3
cbbc0 20 69 64 3d 22 72 6f 75 6e 64 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 .id="round"><a.href="nav.xhtml#t
cbbe0 6f 63 2d 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 oc-round">@round</a>.<a.class="h
cbc00 64 72 22 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 dr".href="#round">..</a></h3>...
cbc20 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
cbc40 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 6f e"><span.class="tok-builtin">@ro
cbc60 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 22 74 und</span>(value:.<span.class="t
cbc80 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">anytype</span>).<span.cla
cbca0 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>(
cbcc0 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>......
cbce0 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 6f 61 .<p>.......Rounds.the.given.floa
cbd00 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 72 2c ting.point.number.to.an.integer,
cbd20 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 74 65 .away.from.zero..Uses.a.dedicate
cbd40 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
cbd60 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
cbd80 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
cbda0 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
cbdc0 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
cbde0 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="
cbe00 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
cbe20 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
cbe40 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
cbe60 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>...
cbe80 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 72 66 ............<h3.id="subWithOverf
cbea0 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 75 62 57 low"><a.href="nav.xhtml#toc-subW
cbec0 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 ithOverflow">@subWithOverflow</a
cbee0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f >.<a.class="hdr".href="#subWithO
cbf00 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 72 65 verflow">..</a></h3>........<pre
cbf20 3e 3c 63 6f 64 65 3e 3c 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.
cbf40 63 6c 61 73 73 3d 22 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 class="tok-builtin">@subWithOver
cbf60 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 77 22 flow</span>(<span.class="tok-kw"
cbf80 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 3d >comptime</span>.T:.<span.class=
cbfa0 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 3a "tok-type">type</span>,.a:.T,.b:
cbfc0 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 6f 6b .T,.result:.*T).<span.class="tok
cbfe0 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>
cc000 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 </pre>.......<p>.......Performs.
cc020 3c 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 74 2e <code><span.class="line">result.
cc040 2a 20 3d 20 61 20 2d 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 *.=.a.-.b</span></code>..If.over
cc060 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 20 20 flow.or.underflow.occurs,.......
cc080 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 20 69 ....stores.the.overflowed.bits.i
cc0a0 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 75 6c n.<code><span.class="line">resul
cc0c0 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 6f 64 t</span></code>.and.returns.<cod
cc0e0 65 3e 3c 73 70 61 6e 20 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
cc100 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ="tok-null">true</span></span></
cc120 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 20 6f code>....................If.no.o
cc140 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 65 74 verflow.or.underflow.occurs,.ret
cc160 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
cc180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e pan.class="tok-null">false</span
cc1a0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ></span></code>........</p>.....
cc1c0 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 61 67 4e 61 6d 65 22 ................<h3.id="tagName"
cc1e0 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 74 61 67 4e 61 6d 65 22 ><a.href="nav.xhtml#toc-tagName"
cc200 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 >@tagName</a>.<a.class="hdr".hre
cc220 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 f="#tagName">..</a></h3>........
cc240 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
cc260 70 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 65 pan.class="tok-builtin">@tagName
cc280 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-
cc2a0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 kw">anytype</span>).[:<span.clas
cc2c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c s="tok-number">0</span>]<span.cl
cc2e0 61 73 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.
cc300 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e class="tok-type">u8</span></span
cc320 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 43 ></code></pre>.......<p>.......C
cc340 6f 6e 76 65 72 74 73 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 20 6f 72 20 75 6e 69 6f 6e 20 76 onverts.an.enum.value.or.union.v
cc360 61 6c 75 65 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 72 65 70 72 65 73 65 alue.to.a.string.literal.represe
cc380 6e 74 69 6e 67 20 74 68 65 20 6e 61 6d 65 2e 3c 2f 70 3e 3c 70 3e 49 66 20 74 68 65 20 65 6e 75 nting.the.name.</p><p>If.the.enu
cc3a0 6d 20 69 73 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 61 6e 64 20 74 68 65 20 74 61 67 20 m.is.non-exhaustive.and.the.tag.
cc3c0 76 61 6c 75 65 20 64 6f 65 73 20 6e 6f 74 20 6d 61 70 20 74 6f 20 61 20 6e 61 6d 65 2c 20 69 74 value.does.not.map.to.a.name,.it
cc3e0 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d .invokes.safety-checked.<a.href=
cc400 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 "#Undefined-Behavior">Undefined.
cc420 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a Behavior</a>........</p>........
cc440 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 69 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 .......<h3.id="This"><a.href="na
cc460 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 20 3c 61 20 63 v.xhtml#toc-This">@This</a>.<a.c
cc480 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 2f lass="hdr".href="#This">..</a></
cc4a0 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
cc4c0 73 3d 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
cc4e0 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 74 n">@This</span>().<span.class="t
cc500 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 64 ok-type">type</span></span></cod
cc520 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
cc540 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 20 .the.innermost.struct,.enum,.or.
cc560 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 73 union.that.this.function.call.is
cc580 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 75 .inside........This.can.be.usefu
cc5a0 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 6e l.for.an.anonymous.struct.that.n
cc5c0 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 3c eeds.to.refer.to.itself:.......<
cc5e0 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
cc600 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"
cc620 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 63 >this_innermost.zig</cite></figc
cc640 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
cc660 69 6e 65 22 3e 3c 73 70 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<
cc680 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
cc6a0 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
cc6c0 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
cc6e0 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"><
cc700 73 70 61 6e 20 63 6c 61 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>
cc720 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
cc740 70 61 6e 3e 0a 3c 73 70 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>.
cc760 3c 73 70 61 6e 20 63 6c 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="
cc780 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=
cc7a0 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 73 "tok-str">&quot;@This()&quot;</s
cc7c0 70 61 6e 3e 20 7b 3c 2f 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"
cc7e0 3e 20 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
cc800 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 6b pan>.items.=.[_]<span.class="tok
cc820 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">i32</span>{.<span.class="
cc840 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">1</span>,.<span.clas
cc860 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
cc880 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">3</span>,.<spa
cc8a0 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 3b n.class="tok-number">4</span>.};
cc8c0 3c 2f 73 70 61 6e 3e 0a 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">....<
cc8e0 73 70 61 6e 20 63 6c 61 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>
cc900 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 79 .list.=.List(<span.class="tok-ty
cc920 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 5b pe">i32</span>){..items.=.items[
cc940 3c 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
cc960 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 65 >..].};</span>.<span.class="line
cc980 22 3e 20 20 20 20 3c 73 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</
cc9a0 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 73 span>.expect(list.length().==.<s
cc9c0 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 29 pan.class="tok-number">4</span>)
cc9e0 3b 3c 2f 73 70 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
cca00 70 61 6e 3e 0a 3c 73 70 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>.
cca20 3c 73 70 61 6e 20 63 6c 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="
cca40 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
cca60 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 22 ok-fn">List</span>(<span.class="
cca80 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
ccaa0 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>).<
ccac0 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
ccae0 3e 20 7b 3c 2f 73 70 61 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">..
ccb00 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
ccb20 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 pan>.<span.class="tok-kw">struct
ccb40 3c 2f 73 70 61 6e 3e 20 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
ccb60 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"
ccb80 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 73 >const</span>.Self.=.<span.class
ccba0 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 2f ="tok-builtin">@This</span>();</
ccbc0 73 70 61 6e 3e 0a 3c 73 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>
ccbe0 0a 3c 73 70 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 6d .<span.class="line">........item
ccc00 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 65 s:.[]T,</span>.<span.class="line
ccc20 22 3e 3c 2f 73 70 61 6e 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">...
ccc40 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 70 .....<span.class="tok-kw">fn</sp
ccc60 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 3c an>.<span.class="tok-fn">length<
ccc80 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 22 /span>(self:.Self).<span.class="
ccca0 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 0a tok-type">usize</span>.{</span>.
cccc0 3c 73 70 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">............<
ccce0 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
ccd00 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 63 >.self.items.len;</span>.<span.c
ccd20 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 70 lass="line">........}</span>.<sp
ccd40 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
ccd60 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>
ccd80 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
ccda0 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
ccdc0 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
ccde0 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 6d ine">$.<kbd>zig.test.this_innerm
cce00 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 73 ost.zig</kbd></span>.<span.class
cce20 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 71 ="line">1/1.test.&quot;@This()&q
cce40 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
cce60 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>.
cce80 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>
ccea0 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 6c .......When.<code><span.class="l
ccec0 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">@
ccee0 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 75 This</span>()</span></code>.is.u
ccf00 73 65 64 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 sed.at.file.scope,.it.returns.a.
ccf20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 73 74 72 75 63 74 20 74 68 reference.to.the.......struct.th
ccf40 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 at.corresponds.to.the.current.fi
ccf60 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 le........</p>...............<h3
ccf80 20 69 64 3d 22 74 72 75 6e 63 61 74 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d .id="truncate"><a.href="nav.xhtm
ccfa0 6c 23 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 20 3c 61 l#toc-truncate">@truncate</a>.<a
ccfc0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e c2 a7 .class="hdr".href="#truncate">..
ccfe0 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
cd000 6e 20 63 6c 61 73 73 3d 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-
cd020 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 28 3c 73 70 61 6e 20 builtin">@truncate</span>(<span.
cd040 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
cd060 3a 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
cd080 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>,.integer:.<span.class="tok-
cd0a0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f kw">anytype</span>).T</span></co
cd0c0 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
cd0e0 75 6e 63 74 69 6f 6e 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 66 72 6f 6d 20 61 6e 20 69 unction.truncates.bits.from.an.i
cd100 6e 74 65 67 65 72 20 74 79 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 73 6d 61 6c nteger.type,.resulting.in.a.smal
cd120 6c 65 72 0a 20 20 20 20 20 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 20 69 6e 74 65 67 65 72 20 ler.......or.same-sized.integer.
cd140 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 20 20 type........</p>.......<p>......
cd160 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 64 75 63 65 73 20 73 61 66 65 74 79 2d 63 .The.following.produces.safety-c
cd180 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 61 76 hecked.<a.href="#Undefined-Behav
cd1a0 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 20 20 ior">Undefined.Behavior</a>:....
cd1c0 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
cd1e0 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
cd200 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
cd220 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"><
cd240 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>.
cd260 3c 73 70 61 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 <span.class="tok-str">&quot;inte
cd280 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ger.cast.panic&quot;</span>.{</s
cd2a0 70 61 6e 3e 0a 3c 73 70 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
cd2c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c n.class="tok-kw">var</span>.a:.<
cd2e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e span.class="tok-type">u16</span>
cd300 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 .=.<span.class="tok-number">0xab
cd320 63 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 cd</span>;</span>.<span.class="l
cd340 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
cd360 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r</span>.b:.<span.class="tok-typ
cd380 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u8</span>.=.<span.class="tok-
cd3a0 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 6e 20 63 builtin">@intCast</span>(<span.c
cd3c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f lass="tok-type">u8</span>,.a);</
cd3e0 73 70 61 6e 3e 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">...._.=
cd400 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 3c .b;</span>.<span.class="line">}<
cd420 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
cd440 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
cd460 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><
cd480 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
cd4a0 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 6c t.test.zig</kbd></span>.<span.cl
cd4c0 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 67 65 ass="line">1/1.test.&quot;intege
cd4e0 72 20 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 37 39 37 r.cast.panic&quot;....thread.797
cd500 33 34 33 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 74 65 343.panic:.integer.cast.truncate
cd520 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 22 6c 69 6e 65 22 d.bits</span>.<span.class="line"
cd540 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 44 ><span.class="t1_0">/home/andy/D
cd560 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ownloads/zig/docgen_tmp/test.zig
cd580 3a 33 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 :3:17</span>:.<span.class="t2_0"
cd5a0 3e 30 78 32 30 37 61 30 35 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 >0x207a05.in.test.&quot;integer.
cd5c0 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f cast.panic&quot;.(test)</span></
cd5e0 73 70 61 6e 3e 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 span>.<span.class="line">....var
cd600 20 62 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e .b:.u8.=.@intCast(u8,.a);</span>
cd620 0a 3c 73 70 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">............
cd640 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>
cd660 3c 2f 73 70 61 6e 3e 0a 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
cd680 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 44 6f 77 6e 6c 6f 61 .class="t1_0">/home/andy/Downloa
cd6a0 64 73 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 5f 72 75 6e 6e ds/zig/lib/std/special/test_runn
cd6c0 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 63 6c 61 73 73 er.zig:80:28</span>:.<span.class
cd6e0 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 34 31 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e ="t2_0">0x22f413.in.std.special.
cd700 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 20 main.(test)</span></span>.<span.
cd720 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 20 74 65 73 74 class="line">........}.else.test
cd740 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 61 73 73 3d 22 _fn.func();</span>.<span.class="
cd760 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">..........................
cd780 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
cd7a0 70 61 6e 3e 0a 3c 73 70 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
cd7c0 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f ass="t1_0">/home/andy/Downloads/
cd7e0 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 zig/lib/std/start.zig:543:22</sp
cd800 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 37 65 30 63 an>:.<span.class="t2_0">0x227e0c
cd820 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
cd840 70 61 6e 3e 3c 2f 73 70 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">.
cd860 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>.<
cd880 73 70 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">..............
cd8a0 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
cd8c0 61 6e 3e 3c 2f 73 70 61 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
cd8e0 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 44 6f 77 6e pan.class="t1_0">/home/andy/Down
cd900 6c 6f 61 64 73 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 loads/zig/lib/std/start.zig:495:
cd920 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
cd940 32 30 39 32 32 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 20922e.in.std.start.callMainWith
cd960 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.
cd980 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(.{
cd9a0 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
cd9c0 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
cd9e0 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=
cda00 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
cda20 61 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
cda40 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 ome/andy/Downloads/zig/lib/std/s
cda60 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
cda80 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 32 63 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x2082c6.in.std.start
cdaa0 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
cdac0 61 6e 3e 3c 2f 73 70 61 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">..
cdae0 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
cdb00 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
cdb20 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.}));<
cdb40 2f 73 70 61 6e 3e 0a 3c 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">......
cdb60 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">^<
cdb80 2f 73 70 61 6e 3e 3c 2f 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"
cdba0 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 44 ><span.class="t1_0">/home/andy/D
cdbc0 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 ownloads/zig/lib/std/start.zig:3
cdbe0 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 3e 22:5</span>:.<span.class="t2_0">
cdc00 30 78 32 30 38 30 64 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 0x2080d2.in.std.start._start.(te
cdc20 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
cdc40 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 6e ine">....@call(.{..modifier.=..n
cdc60 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 45 ever_inline.},.posixCallMainAndE
cdc80 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 6c xit,..{});</span>.<span.class="l
cdca0 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">^</
cdcc0 73 70 61 6e 3e 3c 2f 73 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">
cdce0 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e error:.the.following.test.comman
cdd00 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 22 6c d.crashed:</span>.<span.class="l
cdd20 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 38 65 34 39 ine">docgen_tmp/zig-cache/o/8e49
cdd40 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 33 36 30 61 35 35 31 62 33 63 30 35 62 2f 74 65 73 64e05ddaf866e77360a551b3c05b/tes
cdd60 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 62 75 69 6c 64 t./home/andy/Downloads/zig/build
cdd80 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 70 3e 3c 2f 70 72 65 -release/zig</span>.</samp></pre
cdda0 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 48 6f 77 65 76 ></figure>.......<p>.......Howev
cddc0 65 72 20 74 68 69 73 20 69 73 20 77 65 6c 6c 20 64 65 66 69 6e 65 64 20 61 6e 64 20 77 6f 72 6b er.this.is.well.defined.and.work
cdde0 69 6e 67 20 63 6f 64 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 ing.code:.......</p>.......<figu
cde00 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"><
cde20 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f cite.class="file">truncate.zig</
cde40 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
cde60 61 6e 20 63 6c 61 73 73 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
cde80 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
cdea0 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>
cdec0 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
cdee0 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
cdf00 73 73 3d 22 6c 69 6e 65 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
cdf20 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
cdf40 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
cdf60 65 22 3e 3c 2f 73 70 61 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
cdf80 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>.<
cdfa0 73 70 61 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
cdfc0 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 er.truncation&quot;</span>.{</sp
cdfe0 61 6e 3e 0a 3c 73 70 61 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
ce000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 .class="tok-kw">var</span>.a:.<s
ce020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u16</span>.
ce040 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 63 =.<span.class="tok-number">0xabc
ce060 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
ce080 6e 65 22 3e 20 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
ce0a0 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
ce0c0 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 62 ">u8</span>.=.<span.class="tok-b
ce0e0 75 69 6c 74 69 6e 22 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 uiltin">@truncate</span>(<span.c
ce100 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f lass="tok-type">u8</span>,.a);</
ce120 73 70 61 6e 3e 0a 3c 73 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
ce140 61 6e 20 63 6c 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
ce160 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ect(b.==.<span.class="tok-number
ce180 22 3e 30 78 63 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 ">0xcd</span>);</span>.<span.cla
ce1a0 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><
ce1c0 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
ce1e0 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>
ce200 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">$.
ce220 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 6b 62 64 3e <kbd>zig.test.truncate.zig</kbd>
ce240 3c 2f 73 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
ce260 65 73 74 20 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 71 75 6f est.&quot;integer.truncation&quo
ce280 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
ce2a0 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>.</
ce2c0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
ce2e0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 77 61 79 73 20 74 72 75 6e 63 61 .....This.function.always.trunca
ce300 74 65 73 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 tes.the.significant.bits.of.the.
ce320 69 6e 74 65 67 65 72 2c 20 72 65 67 61 72 64 6c 65 73 73 0a 20 20 20 20 20 20 6f 66 20 65 6e 64 integer,.regardless.......of.end
ce340 69 61 6e 6e 65 73 73 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 0a ianness.on.the.target.platform..
ce360 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=
ce380 22 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 "Type"><a.href="nav.xhtml#toc-Ty
ce3a0 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 pe">@Type</a>.<a.class="hdr".hre
ce3c0 66 3d 22 23 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 f="#Type">..</a></h3>........<pr
ce3e0 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
ce400 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 6e .class="tok-builtin">@Type</span
ce420 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<
ce440 2f 73 70 61 6e 3e 20 69 6e 66 6f 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 49 6e 66 /span>.info:.std.builtin.TypeInf
ce460 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f o).<span.class="tok-type">type</
ce480 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>.......
ce4a0 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 68 65 20 69 <p>.......This.function.is.the.i
ce4c0 6e 76 65 72 73 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 nverse.of.<a.href="#typeInfo">@t
ce4e0 79 70 65 49 6e 66 6f 3c 2f 61 3e 2e 20 49 74 20 72 65 69 66 69 65 73 20 74 79 70 65 20 69 6e 66 ypeInfo</a>..It.reifies.type.inf
ce500 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 ormation.......into.a.<code><spa
ce520 6e 20 63 6c 61 73 73 3d 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-
ce540 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 2e type">type</span></span></code>.
ce560 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 .......</p>.......<p>.......It.i
ce580 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 s.available.for.the.following.ty
ce5a0 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 pes:.......</p>.......<ul>......
ce5c0 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
ce5e0 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 3c 2f 73 "><span.class="tok-type">type</s
ce600 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>.........
ce620 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"><
ce640 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f span.class="tok-type">noreturn</
ce660 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 span></span></code></li>........
ce680 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...<li><code><span.class="line">
ce6a0 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
ce6c0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 n></span></code></li>...........
ce6e0 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
ce700 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 3c an.class="tok-type">bool</span><
ce720 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 /span></code></li>...........<li
ce740 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
ce760 3e 20 2d 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 62 69 74 20 63 6f 75 6e 74 20 66 6f 72 20 61 6e >.-.The.maximum.bit.count.for.an
ce780 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .integer.type.is.<code><span.cla
ce7a0 73 73 3d 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
ce7c0 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f r">65535</span></span></code>.</
ce7e0 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 46 6c 6f 61 li>...........<li><a.href="#Floa
ce800 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 3c 6c ts">Floats</a></li>...........<l
ce820 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</
ce840 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 a></li>...........<li><code><spa
ce860 6e 20 63 6c 61 73 73 3d 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-
ce880 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>
ce8a0 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
ce8c0 3e 3c 73 70 61 6e 20 63 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=
ce8e0 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e "tok-type">comptime_float</span>
ce900 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
ce920 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
ce940 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
ce960 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 75 6e 64 65 66 an>(<span.class="tok-null">undef
ce980 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a ined</span>)</span></code></li>.
ce9a0 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=
ce9c0 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"
ce9e0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@TypeOf</span>(<span.class="tok
cea00 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -null">null</span>)</span></code
cea20 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 41 ></li>...........<li><a.href="#A
cea40 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 rrays">Arrays</a></li>..........
cea60 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e .<li><a.href="#Optionals">Option
cea80 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 als</a></li>...........<li><a.hr
ceaa0 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 54 ef="#Error-Set-Type">Error.Set.T
ceac0 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 ype</a></li>...........<li><a.hr
ceae0 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 ef="#Error-Union-Type">Error.Uni
ceb00 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c on.Type</a></li>...........<li><
ceb20 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 3c 2f 6c a.href="#Vectors">Vectors</a></l
ceb40 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 6f 70 61 71 75 i>...........<li><a.href="#opaqu
ceb60 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 e">opaque</a></li>...........<li
ceb80 3e 3c 61 20 68 72 65 66 3d 22 23 46 72 61 6d 65 22 3e 40 46 72 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 ><a.href="#Frame">@Frame</a></li
ceba0 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
cebc0 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">an
cebe0 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 2f 6c 69 3e yframe</span></span></code></li>
cec00 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 ...........<li><a.href="#struct"
cec20 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c >struct</a></li>...........<li><
cec40 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 20 20 20 a.href="#enum">enum</a></li>....
cec60 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 .......<li><a.href="#Enum-Litera
cec80 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ls">Enum.Literals</a></li>......
ceca0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c .....<li><a.href="#union">union<
cecc0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 /a></li>.......</ul>.......<p>..
cece0 20 20 20 20 20 46 6f 72 20 74 68 65 73 65 20 74 79 70 65 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 .....For.these.types,.<code><spa
ced00 6e 20 63 6c 61 73 73 3d 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-
ced20 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f builtin">@Type</span></span></co
ced40 64 65 3e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e de>.is.not.available:.......</p>
ced60 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 .......<ul>...........<li><a.hre
ced80 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 f="#Functions">Functions</a></li
ceda0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 42 6f 75 6e 64 46 6e 3c 2f 6c 69 3e 0a 20 20 20 >...........<li>BoundFn</li>....
cedc0 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 79 ...</ul>..............<h3.id="ty
cede0 70 65 49 6e 66 6f 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 74 peInfo"><a.href="nav.xhtml#toc-t
cee00 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 61 73 73 3d ypeInfo">@typeInfo</a>.<a.class=
cee20 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 3e 3c 2f 68 "hdr".href="#typeInfo">..</a></h
cee40 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
cee60 3d 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
cee80 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">@typeInfo</span>(<span.class="
ceea0 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
ceec0 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 73 .class="tok-type">type</span>).s
ceee0 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 63 6f 64 65 td.builtin.TypeInfo</span></code
cef00 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 76 69 64 65 73 ></pre>.......<p>.......Provides
cef20 20 74 79 70 65 20 72 65 66 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .type.reflection........</p>....
cef40 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 73 74 72 75 63 ...<p>.......For.<a.href="#struc
cef60 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 t">structs</a>,.<a.href="#union"
cef80 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 >unions</a>,.<a.href="#enum">enu
cefa0 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f ms</a>,.and.......<a.href="#Erro
cefc0 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 2c 20 74 68 65 20 r-Set-Type">error.sets</a>,.the.
cefe0 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 69 6e 20 74 fields.are.guaranteed.to.be.in.t
cf000 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 65 72 20 61 73 20 64 65 63 6c 61 72 65 64 2e he.same.......order.as.declared.
cf020 20 46 6f 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 74 68 65 20 6f 72 64 65 72 20 69 73 20 .For.declarations,.the.order.is.
cf040 75 6e 73 70 65 63 69 66 69 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a unspecified........</p>.........
cf060 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=
cf080 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 74 79 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 "nav.xhtml#toc-typeName">@typeNa
cf0a0 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 74 79 70 me</a>.<a.class="hdr".href="#typ
cf0c0 65 4e 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 eName">..</a></h3>........<pre><
cf0e0 63 6f 64 65 3e 3c 73 70 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
cf100 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 ass="tok-builtin">@typeName</spa
cf120 6e 3e 28 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
cf140 65 3c 2f 73 70 61 6e 3e 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e e</span>).*<span.class="tok-kw">
cf160 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 4e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.[N:<span.class="tok
cf180 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
cf1a0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ok-type">u8</span></span></code>
cf1c0 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
cf1e0 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 65 6e tion.returns.the.string.represen
cf200 74 61 74 69 6f 6e 20 6f 66 20 61 20 74 79 70 65 2c 20 61 73 0a 20 20 20 20 20 20 61 6e 20 61 72 tation.of.a.type,.as.......an.ar
cf220 72 61 79 2e 20 49 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 73 74 72 69 6e ray..It.is.equivalent.to.a.strin
cf240 67 20 6c 69 74 65 72 61 6c 20 6f 66 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 2e 0a 20 20 20 20 g.literal.of.the.type.name......
cf260 20 20 3c 2f 70 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 54 79 ..</p>................<h3.id="Ty
cf280 70 65 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 79 70 peOf"><a.href="nav.xhtml#toc-Typ
cf2a0 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 eOf">@TypeOf</a>.<a.class="hdr".
cf2c0 68 72 65 66 3d 22 23 54 79 70 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 href="#TypeOf">..</a></h3>......
cf2e0 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">
cf300 3c 73 70 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
cf320 66 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 f</span>(...).<span.class="tok-t
cf340 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ype">type</span></span></code></
cf360 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 3c 73 70 61 6e pre>.......<p>.......<code><span
cf380 20 63 6c 61 73 73 3d 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
cf3a0 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 uiltin">@TypeOf</span></span></c
cf3c0 6f 64 65 3e 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 ode>.is.a.special.builtin.functi
cf3e0 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 28 6e 6f 6e 7a 65 72 6f 29 20 6e 75 6d 62 on.that.takes.any.(nonzero).numb
cf400 65 72 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 6d er.of.expressions.......as.param
cf420 65 74 65 72 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 eters.and.returns.the.type.of.th
cf440 65 20 72 65 73 75 6c 74 2c 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 e.result,.using.<a.href="#Peer-T
cf460 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
cf480 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 tion</a>........</p>.......<p>..
cf4a0 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 .....The.expressions.are.evaluat
cf4c0 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 79 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 ed,.however.they.are.guaranteed.
cf4e0 74 6f 20 68 61 76 65 20 6e 6f 20 3c 65 6d 3e 72 75 6e 74 69 6d 65 3c 2f 65 6d 3e 20 73 69 64 65 to.have.no.<em>runtime</em>.side
cf500 2d 65 66 66 65 63 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 -effects:.......</p>.......<figu
cf520 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"><
cf540 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 5f 72 75 6e 74 69 6d 65 5f 73 69 64 cite.class="file">no_runtime_sid
cf560 65 5f 65 66 66 65 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 6e e_effects.zig</cite></figcaption
cf580 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"><
cf5a0 73 70 61 6e 20 63 6c 61 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>
cf5c0 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"
cf5e0 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
cf600 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>);</
cf620 73 70 61 6e 3e 0a 3c 73 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
cf640 6c 61 73 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
cf660 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>.<
cf680 73 70 61 6e 20 63 6c 61 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.
cf6a0 63 6c 61 73 73 3d 22 6c 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
cf6c0 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
cf6e0 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 tr">&quot;no.runtime.side.effect
cf700 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
cf720 61 73 73 3d 22 6c 69 6e 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-
cf740 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">var</span>.data:.<span.class
cf760 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
cf780 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
cf7a0 6e 3e 0a 3c 73 70 61 6e 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.
cf7c0 63 6c 61 73 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 class="tok-kw">const</span>.T.=.
cf7e0 3c 73 70 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
cf800 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 f</span>(foo(<span.class="tok-ty
cf820 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 64 61 74 61 29 29 3b 3c 2f 73 70 pe">i32</span>,.&amp;data));</sp
cf840 61 6e 3e 0a 3c 73 70 61 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
cf860 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>.
cf880 3c 73 70 61 6e 20 63 6c 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>.
cf8a0 65 78 70 65 63 74 28 54 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 expect(T.==.<span.class="tok-typ
cf8c0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">i32</span>);</span>.<span.cla
cf8e0 73 73 3d 22 6c 69 6e 65 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
cf900 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 w">try</span>.expect(data.==.<sp
cf920 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>);
cf940 3c 2f 73 70 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
cf960 61 6e 3e 0a 3c 73 70 61 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>.<
cf980 73 70 61 6e 20 63 6c 61 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
cf9a0 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
cf9c0 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f k-fn">foo</span>(<span.class="to
cf9e0 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 k-kw">comptime</span>.T:.<span.c
cfa00 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 lass="tok-type">type</span>,.ptr
cfa20 3a 20 2a 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 :.*T).T.{</span>.<span.class="li
cfa40 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 61 73 73 3d 22 74 6f ne">....ptr.*.+=.<span.class="to
cfa60 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
cfa80 20 63 6c 61 73 73 3d 22 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
cfaa0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 ok-kw">return</span>.ptr.*;</spa
cfac0 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></
cfae0 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
cfb00 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<
cfb20 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
cfb40 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 5f 72 75 6e ss="line">$.<kbd>zig.test.no_run
cfb60 74 69 6d 65 5f 73 69 64 65 5f 65 66 66 65 63 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 time_side_effects.zig</kbd></spa
cfb80 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.&
cfba0 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 26 71 75 6f quot;no.runtime.side.effects&quo
cfbc0 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
cfbe0 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>.</
cfc00 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 samp></pre></figure>............
cfc20 20 20 20 3c 68 33 20 69 64 3d 22 75 6e 69 6f 6e 49 6e 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e ...<h3.id="unionInit"><a.href="n
cfc40 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e av.xhtml#toc-unionInit">@unionIn
cfc60 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 22 23 75 6e 69 it</a>.<a.class="hdr".href="#uni
cfc80 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 3c 70 72 65 3e onInit">..</a></h3>........<pre>
cfca0 3c 63 6f 64 65 3e 3c 73 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
cfcc0 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 69 74 3c 2f 73 lass="tok-builtin">@unionInit</s
cfce0 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
cfd00 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 73 3d 22 74 6f me</span>.Union:.<span.class="to
cfd20 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">type</span>,.<span.class
cfd40 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 63 74 69 76 65 ="tok-kw">comptime</span>.active
cfd60 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 22 74 6f 6b 2d _field_name:.[]<span.class="tok-
cfd80 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
cfda0 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 72 29 20 55 6e k-type">u8</span>,.init_expr).Un
cfdc0 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 ion</span></code></pre>.......<p
cfde0 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 >.......This.is.the.same.thing.a
cfe00 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 69 6e 69 s.<a.href="#union">union</a>.ini
cfe20 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 79 6e 74 61 78 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 tialization.syntax,.except.that.
cfe40 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 69 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 the.field.name.is.a.......<a.hre
cfe60 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e f="#comptime">comptime</a>-known
cfe80 20 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 .value.rather.than.an.identifier
cfea0 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .token........</p>.......<p>....
cfec0 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
cfee0 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 69 74 n.class="tok-builtin">@unionInit
cff00 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 72 64 73 20 69 </span></span></code>.forwards.i
cff20 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 6e 2d 53 65 6d ts.<a.href="#Result-Location-Sem
cff40 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 20 74 6f 20 3c antics">result.location</a>.to.<
cff60 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 74 5f 65 78 70 code><span.class="line">init_exp
cff80 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>.....
cffa0 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 69 6c 64 2d 4d .................<h2.id="Build-M
cffc0 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 42 75 69 6c ode"><a.href="nav.xhtml#toc-Buil
cffe0 64 2d 4d 6f 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 d-Mode">Build.Mode</a>.<a.class=
d0000 22 68 64 72 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 "hdr".href="#Build-Mode">..</a><
d0020 2f 68 32 3e 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 /h2>........<p>.......Zig.has.fo
d0040 75 72 20 62 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 ur.build.modes:.......</p>......
d0060 20 3c 75 6c 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 .<ul>.........<li><a.href="#Debu
d0080 67 22 3e 44 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 g">Debug</a>.(default)</li>.....
d00a0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 ....<li><a.href="#ReleaseFast">R
d00c0 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e eleaseFast</a></li>.........<li>
d00e0 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 <a.href="#ReleaseSafe">ReleaseSa
d0100 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d fe</a></li>.........<li><a.href=
d0120 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e "#ReleaseSmall">ReleaseSmall</a>
d0140 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 20 </li>.......</ul>.......<p>.....
d0160 20 20 54 6f 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 ..To.add.standard.build.options.
d0180 74 6f 20 61 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 to.a.<code.class="file">build.zi
d01a0 67 3c 2f 63 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 g</code>.file:.......</p>.......
d01c0 3c 66 69 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
d01e0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 ap"><cite.class="file">build.zig
d0200 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><
d0220 73 70 61 6e 20 63 6c 61 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
d0240 6f 6b 2d 6b 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 ok-kw">const</span>.Builder.=.<s
d0260 70 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<
d0280 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
d02a0 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 64 2e 42 75 69 6c 64 ot;std&quot;</span>).build.Build
d02c0 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 3c 2f er;</span>.<span.class="line"></
d02e0 73 70 61 6e 3e 0a 3c 73 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
d0300 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
d0320 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
d0340 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 ass="tok-fn">build</span>(b:.*Bu
d0360 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f ilder).<span.class="tok-type">vo
d0380 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="
d03a0 6c 69 6e 65 22 3e 20 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
d03c0 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 6c onst</span>.exe.=.b.addExecutabl
d03e0 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 65 78 e(<span.class="tok-str">&quot;ex
d0400 61 6d 70 6c 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 ample&quot;</span>,.<span.class=
d0420 22 74 6f 6b 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 "tok-str">&quot;example.zig&quot
d0440 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
d0460 69 6e 65 22 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 ine">....exe.setBuildMode(b.stan
d0480 64 61 72 64 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 dardReleaseOptions());</span>.<s
d04a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 pan.class="line">....b.default_s
d04c0 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 3c 2f 73 70 tep.dependOn(&amp;exe.step);</sp
d04e0 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><
d0500 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a /code></pre></figure>.......<p>.
d0520 20 20 20 20 20 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 ......This.causes.these.options.
d0540 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 to.be.available:.......</p>.....
d0560 20 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 ..<dl>.........<dt><kbd>-Dreleas
d0580 65 2d 73 61 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 e-safe=[bool]</kbd></dt><dd>Opti
d05a0 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 6e 3c 2f 64 64 3e 0a mizations.on.and.safety.on</dd>.
d05c0 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 66 61 73 74 3d ........<dt><kbd>-Drelease-fast=
d05e0 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 74 69 6f [bool]</kbd></dt><dd>Optimizatio
d0600 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 ns.on.and.safety.off</dd>.......
d0620 20 20 3c 64 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 ..<dt><kbd>-Drelease-small=[bool
d0640 5d 3c 2f 6b 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 ]</kbd></dt><dd>Size.optimizatio
d0660 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 ns.on.and.safety.off</dd>.......
d0680 3c 2f 64 6c 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 </dl>.......<h3.id="Debug"><a.hr
d06a0 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f ef="nav.xhtml#toc-Debug">Debug</
d06c0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e a>.<a.class="hdr".href="#Debug">
d06e0 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
d0700 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</
d0720 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
d0740 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 65 78 s="line">$.<kbd>zig.build-exe.ex
d0760 61 6d 70 6c 65 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 ample.zig</kbd></span>.</samp></
d0780 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 pre></figure>.......<ul>........
d07a0 20 3c 6c 69 3e 46 61 73 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e .<li>Fast.compilation.speed</li>
d07c0 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 65 6e 61 62 6c .........<li>Safety.checks.enabl
d07e0 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 72 75 6e 74 69 6d 65 ed</li>.........<li>Slow.runtime
d0800 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 .performance</li>.........<li>La
d0820 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 rge.binary.size</li>.........<li
d0840 3e 4e 6f 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 20 72 65 71 75 69 72 65 6d 65 >No.reproducible.build.requireme
d0860 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 nt</li>.......</ul>.............
d0880 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 46 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e .<h3.id="ReleaseFast"><a.href="n
d08a0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 av.xhtml#toc-ReleaseFast">Releas
d08c0 65 46 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 eFast</a>.<a.class="hdr".href="#
d08e0 52 65 6c 65 61 73 65 46 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ReleaseFast">..</a></h3>........
d0900 3c 66 69 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
d0920 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
d0940 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
d0960 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 .build-exe.example.zig.-O.Releas
d0980 65 46 61 73 74 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 eFast</kbd></span>.</samp></pre>
d09a0 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 6c 69 </figure>.......<ul>.........<li
d09c0 3e 46 61 73 74 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 >Fast.runtime.performance</li>..
d09e0 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 64 69 73 61 62 6c 65 .......<li>Safety.checks.disable
d0a00 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 d</li>.........<li>Slow.compilat
d0a20 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 ion.speed</li>.........<li>Large
d0a40 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 .binary.size</li>.........<li>Re
d0a60 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c producible.build</li>.......</ul
d0a80 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 53 61 >..............<h3.id="ReleaseSa
d0aa0 66 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 6c 65 61 fe"><a.href="nav.xhtml#toc-Relea
d0ac0 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 73 seSafe">ReleaseSafe</a>.<a.class
d0ae0 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 61 ="hdr".href="#ReleaseSafe">..</a
d0b00 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 6f ></h3>........<figure><figcaptio
d0b20 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
d0b40 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
d0b60 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 65 ne">$.<kbd>zig.build-exe.example
d0b80 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 3e .zig.-O.ReleaseSafe</kbd></span>
d0ba0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 .</samp></pre></figure>.......<u
d0bc0 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 65 l>.........<li>Medium.runtime.pe
d0be0 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 74 rformance</li>.........<li>Safet
d0c00 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 6c y.checks.enabled</li>.........<l
d0c20 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 20 i>Slow.compilation.speed</li>...
d0c40 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 3e ......<li>Large.binary.size</li>
d0c60 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 3c .........<li>Reproducible.build<
d0c80 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 68 /li>.......</ul>..............<h
d0ca0 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 6e 61 76 3.id="ReleaseSmall"><a.href="nav
d0cc0 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 .xhtml#toc-ReleaseSmall">Release
d0ce0 53 6d 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 Small</a>.<a.class="hdr".href="#
d0d00 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ReleaseSmall">..</a></h3>.......
d0d20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c .<figure><figcaption.class="shel
d0d40 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
d0d60 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
d0d80 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 g.build-exe.example.zig.-O.Relea
d0da0 73 65 53 6d 61 6c 6c 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 seSmall</kbd></span>.</samp></pr
d0dc0 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>.........<
d0de0 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c li>Medium.runtime.performance</l
d0e00 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 64 69 73 i>.........<li>Safety.checks.dis
d0e20 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 abled</li>.........<li>Slow.comp
d0e40 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 53 ilation.speed</li>.........<li>S
d0e60 6d 61 6c 6c 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c mall.binary.size</li>.........<l
d0e80 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 i>Reproducible.build</li>.......
d0ea0 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c </ul>..............<p>See.also:<
d0ec0 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 /p><ul>.<li><a.href="#Compile-Va
d0ee0 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f riables">Compile.Variables</a></
d0f00 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 li>.<li><a.href="#Zig-Build-Syst
d0f20 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c em">Zig.Build.System</a></li>.<l
d0f40 69 3e 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e i><a.href="#Undefined-Behavior">
d0f60 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c Undefined.Behavior</a></li>.</ul
d0f80 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 69 6e 67 6c 65 2d >................<h2.id="Single-
d0fa0 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 Threaded-Builds"><a.href="nav.xh
d0fc0 74 6d 6c 23 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e tml#toc-Single-Threaded-Builds">
d0fe0 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 20 3c 61 20 63 6c Single.Threaded.Builds</a>.<a.cl
d1000 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 ass="hdr".href="#Single-Threaded
d1020 2d 42 75 69 6c 64 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 -Builds">..</a></h2>........<p>Z
d1040 69 67 20 68 61 73 20 61 20 63 6f 6d 70 69 6c 65 20 6f 70 74 69 6f 6e 20 3c 6b 62 64 3e 2d 2d 73 ig.has.a.compile.option.<kbd>--s
d1060 69 6e 67 6c 65 2d 74 68 72 65 61 64 65 64 3c 2f 6b 62 64 3e 20 77 68 69 63 68 20 68 61 73 20 74 ingle-threaded</kbd>.which.has.t
d1080 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 66 66 65 63 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 he.following.effects:</p>.......
d10a0 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 54 <ul>.........<li>All.<a.href="#T
d10c0 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f hread-Local-Variables">Thread.Lo
d10e0 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 cal.Variables</a>.are.treated.as
d1100 20 72 65 67 75 6c 61 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 .regular.<a.href="#Container-Lev
d1120 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 el-Variables">Container.Level.Va
d1140 72 69 61 62 6c 65 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 riables</a>.</li>.........<li>Th
d1160 65 20 6f 76 65 72 68 65 61 64 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 e.overhead.of.<a.href="#Async-Fu
d1180 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 20 62 65 63 nctions">Async.Functions</a>.bec
d11a0 6f 6d 65 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c omes.equivalent.to.function.call
d11c0 20 6f 76 65 72 68 65 61 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 .overhead.</li>.........<li>The.
d11e0 3c 63 6f 64 65 3e 3c 73 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
d1200 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
d1220 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 62 75 >(<span.class="tok-str">&quot;bu
d1240 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 73 69 6e 67 6c 65 5f 74 68 72 65 61 iltin&quot;</span>).single_threa
d1260 64 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 20 3c 63 6f 64 65 3e ded</span></code>.becomes.<code>
d1280 3c 73 70 61 6e 20 63 6c 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="
d12a0 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 6f tok-null">true</span></span></co
d12c0 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 76 61 72 69 de>...........and.therefore.vari
d12e0 6f 75 73 20 75 73 65 72 6c 61 6e 64 20 41 50 49 73 20 77 68 69 63 68 20 72 65 61 64 20 74 68 69 ous.userland.APIs.which.read.thi
d1300 73 20 76 61 72 69 61 62 6c 65 20 62 65 63 6f 6d 65 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 s.variable.become.more.efficient
d1320 2e 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 3c 63 6f 64 65 3e 3c 73 ............For.example.<code><s
d1340 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 4d 75 74 65 78 3c 2f 73 70 61 6e pan.class="line">std.Mutex</span
d1360 3e 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 20 20 20 20 61 6e 20 65 6d ></code>.becomes...........an.em
d1380 70 74 79 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 61 6e 64 20 61 6c 6c 20 6f 66 20 69 74 pty.data.structure.and.all.of.it
d13a0 73 20 66 75 6e 63 74 69 6f 6e 73 20 62 65 63 6f 6d 65 20 6e 6f 2d 6f 70 73 2e 3c 2f 6c 69 3e 0a s.functions.become.no-ops.</li>.
d13c0 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 32 20 69 64 ......</ul>...............<h2.id
d13e0 3d 22 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e ="Undefined-Behavior"><a.href="n
d1400 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 av.xhtml#toc-Undefined-Behavior"
d1420 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 >Undefined.Behavior</a>.<a.class
d1440 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 ="hdr".href="#Undefined-Behavior
d1460 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a ">..</a></h2>........<p>.......Z
d1480 69 67 20 68 61 73 20 6d 61 6e 79 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 75 6e 64 65 66 69 6e ig.has.many.instances.of.undefin
d14a0 65 64 20 62 65 68 61 76 69 6f 72 2e 20 49 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 ed.behavior..If.undefined.behavi
d14c0 6f 72 20 69 73 0a 20 20 20 20 20 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d or.is.......detected.at.compile-
d14e0 74 69 6d 65 2c 20 5a 69 67 20 65 6d 69 74 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 time,.Zig.emits.a.compile.error.
d1500 61 6e 64 20 72 65 66 75 73 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 0a 20 20 20 20 20 20 4d and.refuses.to.continue........M
d1520 6f 73 74 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 74 68 61 74 20 63 61 6e 6e ost.undefined.behavior.that.cann
d1540 6f 74 20 62 65 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 ot.be.detected.at.compile-time.c
d1560 61 6e 20 62 65 20 64 65 74 65 63 74 65 64 0a 20 20 20 20 20 20 61 74 20 72 75 6e 74 69 6d 65 2e an.be.detected.......at.runtime.
d1580 20 49 6e 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 5a 69 67 20 68 61 73 20 73 61 66 65 74 79 20 .In.these.cases,.Zig.has.safety.
d15a0 63 68 65 63 6b 73 2e 20 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 63 61 6e 20 62 65 20 64 69 73 checks..Safety.checks.can.be.dis
d15c0 61 62 6c 65 64 0a 20 20 20 20 20 20 6f 6e 20 61 20 70 65 72 2d 62 6c 6f 63 6b 20 62 61 73 69 73 abled.......on.a.per-block.basis
d15e0 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 .with.<a.href="#setRuntimeSafety
d1600 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 2e 20 54 68 65 20 3c 61 20 ">@setRuntimeSafety</a>..The.<a.
d1620 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c href="#ReleaseFast">ReleaseFast<
d1640 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 /a>.......and.<a.href="#ReleaseS
d1660 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 6c 64 20 6d 6f 64 mall">ReleaseSmall</a>.build.mod
d1680 65 73 20 64 69 73 61 62 6c 65 20 61 6c 6c 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 28 65 78 es.disable.all.safety.checks.(ex
d16a0 63 65 70 74 20 77 68 65 72 65 20 6f 76 65 72 72 69 64 64 65 6e 0a 20 20 20 20 20 20 62 79 20 3c cept.where.overridden.......by.<
d16c0 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 52 a.href="#setRuntimeSafety">@setR
d16e0 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 29 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 61 untimeSafety</a>).in.order.to.fa
d1700 63 69 6c 69 74 61 74 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f cilitate.optimizations........</
d1720 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 73 61 66 65 74 79 p>.......<p>.......When.a.safety
d1740 20 63 68 65 63 6b 20 66 61 69 6c 73 2c 20 5a 69 67 20 63 72 61 73 68 65 73 20 77 69 74 68 20 61 .check.fails,.Zig.crashes.with.a
d1760 20 73 74 61 63 6b 20 74 72 61 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c .stack.trace,.like.this:.......<
d1780 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
d17a0 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"
d17c0 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
d17e0 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
d1800 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
d1820 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 n.class="tok-str">&quot;safety.c
d1840 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 0a 3c 73 70 61 6e heck&quot;</span>.{</span>.<span
d1860 20 63 6c 61 73 73 3d 22 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
d1880 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
d18a0 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
d18c0 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
d18e0 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</
d1900 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
d1920 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
d1940 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
d1960 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 65 63 6b 26 71 75 ">1/1.test.&quot;safety.check&qu
d1980 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 37 39 37 34 39 30 20 70 61 6e 69 63 3a 20 72 65 61 63 ot;....thread.797490.panic:.reac
d19a0 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 0a 3c 73 70 61 hed.unreachable.code</span>.<spa
d19c0 6e 20 63 6c 61 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
d19e0 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 ">/home/andy/Downloads/zig/docge
d1a00 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 6e n_tmp/test.zig:2:5</span>:.<span
d1a20 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 39 64 61 20 69 6e 20 74 65 73 74 20 26 .class="t2_0">0x2079da.in.test.&
d1a40 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 2f quot;safety.check&quot;.(test)</
d1a60 73 70 61 6e 3e 3c 2f 73 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">
d1a80 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 6c ....unreachable;</span>.<span.cl
d1aa0 61 73 73 3d 22 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_
d1ac0 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="
d1ae0 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
d1b00 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 ndy/Downloads/zig/lib/std/specia
d1b20 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 20 l/test_runner.zig:80:28</span>:.
d1b40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 33 65 33 20 69 6e 20 73 <span.class="t2_0">0x22f3e3.in.s
d1b60 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 73 td.special.main.(test)</span></s
d1b80 70 61 6e 3e 0a 3c 73 70 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">........
d1ba0 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 73 }.else.test_fn.func();</span>.<s
d1bc0 70 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">...............
d1be0 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">
d1c00 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
d1c20 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
d1c40 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
d1c60 3a 35 34 33 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 :543:22</span>:.<span.class="t2_
d1c80 30 22 3e 30 78 32 32 37 64 64 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 0">0x227ddc.in.std.start.callMai
d1ca0 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
d1cc0 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 28 ss="line">............root.main(
d1ce0 29 3b 3c 2f 73 70 61 6e 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">...
d1d00 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
d1d20 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
d1d40 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
d1d60 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 e/andy/Downloads/zig/lib/std/sta
d1d80 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
d1da0 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 31 66 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x2091fe.in.std.start.c
d1dc0 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
d1de0 70 61 6e 3e 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
d1e00 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_
d1e20 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>
d1e40 0a 3c 73 70 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">...........<
d1e60 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
d1e80 6e 3e 0a 3c 73 70 61 6e 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
d1ea0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 s="t1_0">/home/andy/Downloads/zi
d1ec0 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 6e g/lib/std/start.zig:409:17</span
d1ee0 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 32 39 36 20 69 >:.<span.class="t2_0">0x208296.i
d1f00 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 74 n.std.start.posixCallMainAndExit
d1f20 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
d1f40 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 2e s="line">....std.os.exit(@call(.
d1f60 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.},.
d1f80 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 2c callMainWithArgs,..{.argc,.argv,
d1fa0 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 6c .envp.}));</span>.<span.class="l
d1fc0 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 73 ine">................<span.class
d1fe0 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
d2000 6c 61 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">/
d2020 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
d2040 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 6c start.zig:322:5</span>:.<span.cl
d2060 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 30 61 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x2080a2.in.std.start
d2080 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 70 ._start.(test)</span></span>.<sp
d20a0 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 6f an.class="line">....@call(.{..mo
d20c0 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 43 difier.=..never_inline.},.posixC
d20e0 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 70 allMainAndExit,..{});</span>.<sp
d2100 61 6e 20 63 6c 61 73 73 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=
d2120 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
d2140 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.
d2160 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 73 70 test.command.crashed:</span>.<sp
d2180 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 2d 63 an.class="line">docgen_tmp/zig-c
d21a0 61 63 68 65 2f 6f 2f 38 65 34 39 36 34 65 30 35 64 64 61 66 38 36 36 65 37 37 33 36 30 61 35 35 ache/o/8e4964e05ddaf866e77360a55
d21c0 31 62 33 63 30 35 62 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 1b3c05b/test./home/andy/Download
d21e0 73 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 3c s/zig/build-release/zig</span>.<
d2200 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 /samp></pre></figure>.......<h3.
d2220 69 64 3d 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 id="Reaching-Unreachable-Code"><
d2240 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 a.href="nav.xhtml#toc-Reaching-U
d2260 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 nreachable-Code">Reaching.Unreac
d2280 68 61 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 hable.Code</a>.<a.class="hdr".hr
d22a0 65 66 3d 22 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e ef="#Reaching-Unreachable-Code">
d22c0 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 ..</a></h3>........<p>At.compile
d22e0 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 -time:</p>.......<figure><figcap
d2300 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
d2320 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 74 ="file">test.zig</cite></figcapt
d2340 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
d2360 22 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<
d2380 2f 73 70 61 6e 3e 20 7b 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
d23a0 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e e">....assert(<span.class="tok-n
d23c0 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 6e ull">false</span>);</span>.<span
d23e0 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
d2400 73 73 3d 22 6c 69 6e 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
d2420 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 n</span>.<span.class="tok-fn">as
d2440 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b sert</span>(ok:.<span.class="tok
d2460 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 6c 61 73 73 3d -type">bool</span>).<span.class=
d2480 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>.
d24a0 3c 73 70 61 6e 20 63 6c 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
d24c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b 29 20 3c 73 70 61 ss="tok-kw">if</span>.(!ok).<spa
d24e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 n.class="tok-kw">unreachable</sp
d2500 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f an>;.<span.class="tok-comment">/
d2520 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 3c 2f 73 70 61 6e /.assertion.failure</span></span
d2540 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
d2560 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
d2580 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</
d25a0 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
d25c0 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
d25e0 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
d2600 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
d2620 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:5:14:.</span><span.cl
d2640 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.
d2660 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 class="t0_1">reached.unreachable
d2680 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .code</span></span>.<span.class=
d26a0 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b "line">....if.(!ok).unreachable;
d26c0 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .//.assertion.failure</span>.<sp
d26e0 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 3c 73 70 an.class="line">.............<sp
d2700 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>
d2720 0a 3c 73 70 61 6e 20 63 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=
d2740 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 32 3a 31 "t0_1">./docgen_tmp/test.zig:2:1
d2760 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
d2780 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
d27a0 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
d27c0 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 66 61 6c 73 65 an.class="line">....assert(false
d27e0 29 3b 3c 2f 73 70 61 6e 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">...
d2800 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
d2820 61 6e 3e 3c 2f 73 70 61 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
d2840 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
d2860 73 74 2e 7a 69 67 3a 31 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:1:10:.</span><span.class=
d2880 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
d28a0 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><
d28c0 2f 73 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 6d 70 74 69 /span>.<span.class="line">compti
d28e0 6d 65 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 me.{</span>.<span.class="line">.
d2900 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
d2920 70 61 6e 3e 3c 2f 73 70 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"><
d2940 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
d2960 65 73 74 2e 7a 69 67 3a 32 3a 31 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:2:11:.</span><span.class
d2980 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
d29a0 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c s="t0_1">referenced.here</span><
d29c0 2f 73 70 61 6e 3e 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
d29e0 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 6c 61 73 73 3d sert(false);</span>.<span.class=
d2a00 22 6c 69 6e 65 22 3e 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 "line">..........<span.class="t3
d2a20 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
d2a40 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a e></figure>.......<p>At.runtime:
d2a60 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
d2a80 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
d2aa0 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
d2ac0 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
d2ae0 6e 20 63 6c 61 73 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
d2b00 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
d2b20 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
d2b40 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
d2b60 6e 3e 0a 3c 73 70 61 6e 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
d2b80 70 61 6e 20 63 6c 61 73 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
d2ba0 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
d2bc0 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
d2be0 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="
d2c00 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>.<
d2c20 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.
d2c40 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 assert(<span.class="tok-null">fa
d2c60 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lse</span>);</span>.<span.class=
d2c80 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
d2ca0 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="
d2cc0 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
d2ce0 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
d2d00 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></
d2d20 73 70 61 6e 3e 0a 3c 73 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>
d2d40 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
d2d60 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
d2d80 22 3e 74 68 72 65 61 64 20 37 39 37 35 35 31 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 ">thread.797551.panic:.reached.u
d2da0 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 61 nreachable.code</span>.<span.cla
d2dc0 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
d2de0 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 64 65 me/andy/Downloads/zig/lib/std/de
d2e00 62 75 67 2e 7a 69 67 3a 32 32 34 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 bug.zig:224:14</span>:.<span.cla
d2e20 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 65 33 62 20 69 6e 20 73 74 64 2e 64 65 62 75 67 2e ss="t2_0">0x204e3b.in.std.debug.
d2e40 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 73 70 61 assert.(test)</span></span>.<spa
d2e60 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 6e 72 65 n.class="line">....if.(!ok).unre
d2e80 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 3c 2f 73 achable;.//.assertion.failure</s
d2ea0 70 61 6e 3e 0a 3c 73 70 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">........
d2ec0 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
d2ee0 3e 3c 2f 73 70 61 6e 3e 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
d2f00 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 44 6f 77 6e 6c 6f n.class="t1_0">/home/andy/Downlo
d2f20 61 64 73 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 ads/zig/docgen_tmp/test.zig:4:21
d2f40 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
d2f60 63 65 32 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 ce2a.in.main.(test)</span></span
d2f80 3e 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
d2fa0 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
d2fc0 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">....................
d2fe0 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
d3000 61 6e 3e 0a 3c 73 70 61 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
d3020 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a ss="t1_0">/home/andy/Downloads/z
d3040 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 ig/lib/std/start.zig:543:22</spa
d3060 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 35 62 62 63 20 n>:.<span.class="t2_0">0x225bbc.
d3080 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
d30a0 61 6e 3e 3c 2f 73 70 61 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">..
d30c0 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
d30e0 70 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">...............
d3100 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
d3120 6e 3e 3c 2f 73 70 61 6e 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
d3140 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
d3160 6f 61 64 73 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 oads/zig/lib/std/start.zig:495:1
d3180 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
d31a0 30 36 66 62 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 06fbe.in.std.start.callMainWithA
d31c0 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
d31e0 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(.{.
d3200 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
d3220 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
d3240 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="
d3260 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
d3280 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
d32a0 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 me/andy/Downloads/zig/lib/std/st
d32c0 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 61 art.zig:409:17</span>:.<span.cla
d32e0 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 35 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e ss="t2_0">0x206056.in.std.start.
d3300 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 61 posixCallMainAndExit.(test)</spa
d3320 6e 3e 3c 2f 73 70 61 6e 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">...
d3340 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 20 .std.os.exit(@call(.{..modifier.
d3360 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 68 =..always_inline.},.callMainWith
d3380 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 2f Args,..{.argc,.argv,.envp.}));</
d33a0 73 70 61 6e 3e 0a 3c 73 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">.......
d33c0 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">^</
d33e0 73 70 61 6e 3e 3c 2f 73 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">
d3400 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 44 6f <span.class="t1_0">/home/andy/Do
d3420 77 6e 6c 6f 61 64 73 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 wnloads/zig/lib/std/start.zig:32
d3440 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
d3460 78 32 30 35 65 36 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 x205e62.in.std.start._start.(tes
d3480 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
d34a0 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
d34c0 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
d34e0 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
d3500 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
d3520 70 61 6e 3e 3c 2f 73 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">(
d3540 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
d3560 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>.....
d3580 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f .........<h3.id="Index-out-of-Bo
d35a0 75 6e 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 64 unds"><a.href="nav.xhtml#toc-Ind
d35c0 65 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 ex-out-of-Bounds">Index.out.of.B
d35e0 6f 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 ounds</a>.<a.class="hdr".href="#
d3600 49 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 Index-out-of-Bounds">..</a></h3>
d3620 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a ........<p>At.compile-time:</p>.
d3640 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=
d3660 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
d3680 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
d36a0 6f 64 65 3e 3c 73 70 61 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
d36c0 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
d36e0 70 61 6e 3e 0a 3c 73 70 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
d3700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 n.class="tok-kw">const</span>.ar
d3720 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 72 22 3e 35 ray:.[<span.class="tok-number">5
d3740 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
d3760 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 8</span>.=.<span.class="tok-str"
d3780 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 70 >&quot;hello&quot;</span>.*;</sp
d37a0 61 6e 3e 0a 3c 73 70 61 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
d37c0 20 63 6c 61 73 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 .class="tok-kw">const</span>.gar
d37e0 62 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 bage.=.array[<span.class="tok-nu
d3800 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">5</span>];</span>.<span.cl
d3820 61 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 ass="line">...._.=.garbage;</spa
d3840 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></
d3860 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
d3880 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<
d38a0 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
d38c0 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 7a ss="line">$.<kbd>zig.test.test.z
d38e0 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
d3900 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
d3920 6d 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 mp/test.zig:3:26:.</span><span.c
d3940 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
d3960 20 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 .class="t0_1">index.5.outside.ar
d3980 72 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 ray.of.size.5</span></span>.<spa
d39a0 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 67 61 72 62 61 67 65 n.class="line">....const.garbage
d39c0 20 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 .=.array[5];</span>.<span.class=
d39e0 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 20 "line">.........................
d3a00 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
d3a20 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>......
d3a40 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .<p>At.runtime:</p>.......<figur
d3a60 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
d3a80 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>
d3aa0 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
d3ac0 61 73 73 3d 22 6c 69 6e 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">
d3ae0 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">
d3b00 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
d3b20 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
d3b40 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
d3b60 6c 61 73 73 3d 22 6c 69 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
d3b80 2d 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 -kw">var</span>.x.=.foo(<span.cl
d3ba0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c ass="tok-str">&quot;hello&quot;<
d3bc0 2f 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
d3be0 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 20 63 6c 61 73 73 e">...._.=.x;</span>.<span.class
d3c00 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
d3c20 6e 65 22 3e 3c 2f 73 70 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"><
d3c40 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
d3c60 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 78 3a pan.class="tok-fn">foo</span>(x:
d3c80 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 .[]<span.class="tok-kw">const</s
d3ca0 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</
d3cc0 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 38 span>).<span.class="tok-type">u8
d3ce0 3c 2f 73 70 61 6e 3e 20 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
d3d00 6e 65 22 3e 20 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
d3d20 75 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 urn</span>.x[<span.class="tok-nu
d3d40 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">5</span>];</span>.<span.cl
d3d60 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>
d3d80 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
d3da0 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
d3dc0 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">$
d3de0 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
d3e00 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
d3e20 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>.
d3e40 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="
d3e60 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 37 36 31 31 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 line">thread.797611.panic:.index
d3e80 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
d3ea0 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
d3ec0 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f e/andy/Downloads/zig/docgen_tmp/
d3ee0 74 65 73 74 2e 7a 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 test.zig:7:13</span>:.<span.clas
d3f00 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 34 65 39 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c s="t2_0">0x2344e9.in.foo.(test)<
d3f20 2f 73 70 61 6e 3e 3c 2f 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"
d3f40 3e 20 20 20 20 72 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 >....return.x[5];</span>.<span.c
d3f60 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
d3f80 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
d3fa0 6e 20 63 6c 61 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
d3fc0 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 ">/home/andy/Downloads/zig/docge
d3fe0 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 n_tmp/test.zig:2:16</span>:.<spa
d4000 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 65 33 36 20 69 6e 20 6d 61 69 6e 20 n.class="t2_0">0x22ce36.in.main.
d4020 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
d4040 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 78 20 3d 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 ="line">....var.x.=.foo(&quot;he
d4060 6c 6c 6f 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 llo&quot;);</span>.<span.class="
d4080 6c 69 6e 65 22 3e 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 line">...............<span.class
d40a0 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
d40c0 6c 61 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">/
d40e0 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
d4100 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:543:22</span>:.<span.c
d4120 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 62 62 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x225bbc.in.std.star
d4140 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>.
d4160 3c 73 70 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
d4180 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="
d41a0 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
d41c0 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>.<
d41e0 73 70 61 6e 20 63 6c 61 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
d4200 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 1_0">/home/andy/Downloads/zig/li
d4220 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 3e 3a 20 3c b/std/start.zig:495:12</span>:.<
d4240 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 62 65 20 69 6e 20 73 74 span.class="t2_0">0x206fbe.in.st
d4260 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 73 74 29 3c d.start.callMainWithArgs.(test)<
d4280 2f 73 70 61 6e 3e 3c 2f 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"
d42a0 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 65 72 20 3d >....return.@call(.{..modifier.=
d42c0 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 20 2e 7b 7d ..always_inline.},.callMain,..{}
d42e0 29 3b 3c 2f 73 70 61 6e 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">...
d4300 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
d4320 70 61 6e 3e 3c 2f 73 70 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"><
d4340 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 44 6f 77 span.class="t1_0">/home/andy/Dow
d4360 6e 6c 6f 61 64 73 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 nloads/zig/lib/std/start.zig:409
d4380 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
d43a0 78 32 30 36 30 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 x206056.in.std.start.posixCallMa
d43c0 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>.<
d43e0 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
d4400 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
d4420 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
d4440 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
d4460 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
d4480 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
d44a0 3e 0a 3c 73 70 61 6e 20 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
d44c0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 ="t1_0">/home/andy/Downloads/zig
d44e0 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>:
d4500 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 36 32 20 69 6e 20 .<span.class="t2_0">0x205e62.in.
d4520 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></
d4540 73 70 61 6e 3e 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
d4560 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.
d4580 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,..{});</
d45a0 73 70 61 6e 3e 0a 3c 73 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
d45c0 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>
d45e0 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 72 .<span.class="line">(process.ter
d4600 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 70 minated.by.signal)</span>.</samp
d4620 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
d4640 33 20 69 64 3d 22 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 3.id="Cast-Negative-Number-to-Un
d4660 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 signed-Integer"><a.href="nav.xht
d4680 6d 6c 23 74 6f 63 2d 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 ml#toc-Cast-Negative-Number-to-U
d46a0 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 61 73 74 20 4e 65 67 61 74 69 76 65 20 4e nsigned-Integer">Cast.Negative.N
d46c0 75 6d 62 65 72 20 74 6f 20 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 20 3c 61 umber.to.Unsigned.Integer</a>.<a
d46e0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 4e 65 67 61 74 69 76 .class="hdr".href="#Cast-Negativ
d4700 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e c2 a7 e-Number-to-Unsigned-Integer">..
d4720 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 74 </a></h3>........<p>At.compile-t
d4740 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
d4760 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="
d4780 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
d47a0 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">
d47c0 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
d47e0 70 61 6e 3e 20 7b 3c 2f 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"
d4800 3e 20 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<
d4820 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 /span>.value:.<span.class="tok-t
d4840 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ype">i32</span>.=.-<span.class="
d4860 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
d4880 61 6e 20 63 6c 61 73 73 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=
d48a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 20 3d "tok-kw">const</span>.unsigned.=
d48c0 20 3c 73 70 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
d48e0 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
d4900 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">u32</span>,.value);</span>.<sp
d4920 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 75 6e 73 69 67 6e 65 64 an.class="line">...._.=.unsigned
d4940 3b 3c 2f 73 70 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
d4960 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
d4980 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">
d49a0 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
d49c0 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.
d49e0 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 73 test.zig</kbd></span>.<span.clas
d4a00 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
d4a20 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 32 32 3a 20 3c 2f 73 70 61 6e 3e 3c cgen_tmp/test.zig:3:22:.</span><
d4a40 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 6e span.class="t31_1">error:.</span
d4a60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 61 74 74 65 6d 70 74 20 74 6f 20 63 ><span.class="t0_1">attempt.to.c
d4a80 61 73 74 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 ast.negative.value.to.unsigned.i
d4aa0 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 73 nteger</span></span>.<span.class
d4ac0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 3d 20 40 69 6e ="line">....const.unsigned.=.@in
d4ae0 74 43 61 73 74 28 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 tCast(u32,.value);</span>.<span.
d4b00 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">...................
d4b20 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></
d4b40 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>....
d4b60 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
d4b80 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">
d4ba0 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
d4bc0 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.
d4be0 63 6c 61 73 73 3d 22 6c 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
d4c00 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
d4c20 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
d4c40 70 61 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
d4c60 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=
d4c80 22 6c 69 6e 65 22 3e 3c 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
d4ca0 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
d4cc0 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>
d4ce0 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
d4d00 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<
d4d20 2f 73 70 61 6e 3e 20 7b 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
d4d40 65 22 3e 20 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<
d4d60 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 /span>.value:.<span.class="tok-t
d4d80 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ype">i32</span>.=.-<span.class="
d4da0 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
d4dc0 61 6e 20 63 6c 61 73 73 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=
d4de0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 20 3d 20 3c "tok-kw">var</span>.unsigned.=.<
d4e00 73 70 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
d4e20 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">
d4e40 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e u32</span>,.value);</span>.<span
d4e60 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
d4e80 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
d4ea0 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 75 6e 73 69 67 6e lue:.{}\n&quot;</span>,..{unsign
d4ec0 65 64 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 ed});</span>.<span.class="line">
d4ee0 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
d4f00 69 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
d4f20 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
d4f40 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
d4f60 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>.<
d4f80 73 70 61 6e 20 63 6c 61 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.
d4fa0 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>
d4fc0 3c 2f 73 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
d4fe0 64 20 37 39 37 36 37 32 20 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 63 61 73 74 20 d.797672.panic:.attempt.to.cast.
d5000 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 negative.value.to.unsigned.integ
d5020 65 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 73 70 er</span>.<span.class="line"><sp
d5040 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
d5060 6f 61 64 73 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 35 3a 32 oads/zig/docgen_tmp/test.zig:5:2
d5080 30 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 0</span>:.<span.class="t2_0">0x2
d50a0 32 63 66 32 37 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 2cf27.in.main.(test)</span></spa
d50c0 6e 3e 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 75 6e n>.<span.class="line">....var.un
d50e0 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 6c 75 65 29 3b 3c 2f signed.=.@intCast(u32,.value);</
d5100 73 70 61 6e 3e 0a 3c 73 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">.......
d5120 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">
d5140 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
d5160 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
d5180 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
d51a0 3a 35 34 33 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 :543:22</span>:.<span.class="t2_
d51c0 30 22 3e 30 78 32 32 35 63 37 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 0">0x225c7c.in.std.start.callMai
d51e0 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
d5200 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 28 ss="line">............root.main(
d5220 29 3b 3c 2f 73 70 61 6e 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">...
d5240 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
d5260 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
d5280 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
d52a0 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 e/andy/Downloads/zig/lib/std/sta
d52c0 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
d52e0 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 37 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x20707e.in.std.start.c
d5300 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
d5320 70 61 6e 3e 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
d5340 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_
d5360 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>
d5380 0a 3c 73 70 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">...........<
d53a0 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
d53c0 6e 3e 0a 3c 73 70 61 6e 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
d53e0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 s="t1_0">/home/andy/Downloads/zi
d5400 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 6e g/lib/std/start.zig:409:17</span
d5420 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 31 36 20 69 >:.<span.class="t2_0">0x206116.i
d5440 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 74 n.std.start.posixCallMainAndExit
d5460 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
d5480 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 2e s="line">....std.os.exit(@call(.
d54a0 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.},.
d54c0 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 2c callMainWithArgs,..{.argc,.argv,
d54e0 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 6c .envp.}));</span>.<span.class="l
d5500 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 73 ine">................<span.class
d5520 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
d5540 6c 61 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">/
d5560 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
d5580 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 6c start.zig:322:5</span>:.<span.cl
d55a0 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 32 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x205f22.in.std.start
d55c0 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 70 ._start.(test)</span></span>.<sp
d55e0 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 6f an.class="line">....@call(.{..mo
d5600 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 43 difier.=..never_inline.},.posixC
d5620 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 70 allMainAndExit,..{});</span>.<sp
d5640 61 6e 20 63 6c 61 73 73 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=
d5660 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
d5680 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 62 ass="line">(process.terminated.b
d56a0 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 2f y.signal)</span>.</samp></pre></
d56c0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 6f 62 74 61 69 figure>.......<p>.......To.obtai
d56e0 6e 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e n.the.maximum.value.of.an.unsign
d5700 65 64 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 ed.integer,.use.<code><span.clas
d5720 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3c 2f 73 70 61 6e 3e 3c s="line">std.math.maxInt</span><
d5740 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 20 20 20 20 20 20 /code>........</p>..............
d5760 3c 68 33 20 69 64 3d 22 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 3c 61 20 <h3.id="Cast-Truncates-Data"><a.
d5780 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 href="nav.xhtml#toc-Cast-Truncat
d57a0 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e es-Data">Cast.Truncates.Data</a>
d57c0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 54 72 75 6e .<a.class="hdr".href="#Cast-Trun
d57e0 63 61 74 65 73 2d 44 61 74 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c cates-Data">..</a></h3>........<
d5800 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 p>At.compile-time:</p>.......<fi
d5820 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"
d5840 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
d5860 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
d5880 20 63 6c 61 73 73 3d 22 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
d58a0 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
d58c0 6e 20 63 6c 61 73 73 3d 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="
d58e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 70 61 72 74 61 6e 5f 63 6f 75 tok-kw">const</span>.spartan_cou
d5900 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f nt:.<span.class="tok-type">u16</
d5920 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"
d5940 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >300</span>;</span>.<span.class=
d5960 22 6c 69 6e 65 22 3e 20 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">
d5980 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d const</span>.byte.=.<span.class=
d59a0 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
d59c0 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>,.
d59e0 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 spartan_count);</span>.<span.cla
d5a00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 79 74 65 3b 3c 2f 73 70 61 6e 3e 0a 3c ss="line">...._.=.byte;</span>.<
d5a20 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
d5a40 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
d5a60 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
d5a80 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="
d5aa0 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</
d5ac0 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"><
d5ae0 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
d5b00 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
d5b20 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
d5b40 73 73 3d 22 74 30 5f 31 22 3e 63 61 73 74 20 66 72 6f 6d 20 27 75 31 36 27 20 74 6f 20 27 75 38 ss="t0_1">cast.from.'u16'.to.'u8
d5b60 27 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c '.truncates.bits</span></span>.<
d5b80 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 62 79 74 65 span.class="line">....const.byte
d5ba0 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c .=.@intCast(u8,.spartan_count);<
d5bc0 2f 73 70 61 6e 3e 0a 3c 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">......
d5be0 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">^
d5c00 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
d5c20 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 gure>.......<p>At.runtime:</p>..
d5c40 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="
d5c60 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
d5c80 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
d5ca0 64 65 3e 3c 73 70 61 6e 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
d5cc0 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
d5ce0 70 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<
d5d00 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
d5d20 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
d5d40 61 6e 20 63 6c 61 73 73 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
d5d60 61 73 73 3d 22 6c 69 6e 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">
d5d80 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">
d5da0 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
d5dc0 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
d5de0 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
d5e00 6c 61 73 73 3d 22 6c 69 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
d5e20 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c -kw">var</span>.spartan_count:.<
d5e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e span.class="tok-type">u16</span>
d5e60 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 30 30 3c .=.<span.class="tok-number">300<
d5e80 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
d5ea0 22 3e 20 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
d5ec0 3c 2f 73 70 61 6e 3e 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 </span>.byte.=.<span.class="tok-
d5ee0 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 6e 20 63 builtin">@intCast</span>(<span.c
d5f00 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 70 61 72 74 lass="tok-type">u8</span>,.spart
d5f20 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 22 6c an_count);</span>.<span.class="l
d5f40 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
d5f60 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 6e lass="tok-str">&quot;value:.{}\n
d5f80 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 6e 3e 0a &quot;</span>,..{byte});</span>.
d5fa0 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
d5fc0 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
d5fe0 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
d6000 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=
d6020 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
d6040 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
d6060 69 6e 65 22 3e 3c 2f 73 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">
d6080 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
d60a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 37 37 33 33 20 70 61 6e 69 .class="line">thread.797733.pani
d60c0 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 74 65 64 20 62 69 74 73 3c 2f c:.integer.cast.truncated.bits</
d60e0 73 70 61 6e 3e 0a 3c 73 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
d6100 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 lass="t1_0">/home/andy/Downloads
d6120 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 35 3a 31 38 3c 2f 73 /zig/docgen_tmp/test.zig:5:18</s
d6140 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 63 66 32 pan>:.<span.class="t2_0">0x22cf2
d6160 63 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 3e 0a 3c c.in.main.(test)</span></span>.<
d6180 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 62 79 74 65 span.class="line">....const.byte
d61a0 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c .=.@intCast(u8,.spartan_count);<
d61c0 2f 73 70 61 6e 3e 0a 3c 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">......
d61e0 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">^
d6200 3c 2f 73 70 61 6e 3e 3c 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
d6220 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/
d6240 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a Downloads/zig/lib/std/start.zig:
d6260 35 34 33 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 543:22</span>:.<span.class="t2_0
d6280 22 3e 30 78 32 32 35 63 37 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e ">0x225c7c.in.std.start.callMain
d62a0 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
d62c0 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 28 29 s="line">............root.main()
d62e0 3b 3c 2f 73 70 61 6e 3e 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">....
d6300 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
d6320 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
d6340 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
d6360 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 /andy/Downloads/zig/lib/std/star
d6380 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
d63a0 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 37 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x20707e.in.std.start.ca
d63c0 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
d63e0 61 6e 3e 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
d6400 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
d6420 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>.
d6440 3c 73 70 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
d6460 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
d6480 3e 0a 3c 73 70 61 6e 20 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
d64a0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 ="t1_0">/home/andy/Downloads/zig
d64c0 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>
d64e0 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 31 36 20 69 6e :.<span.class="t2_0">0x206116.in
d6500 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.
d6520 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
d6540 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(.{
d6560 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
d6580 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,.
d65a0 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
d65c0 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=
d65e0 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
d6600 61 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
d6620 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 ome/andy/Downloads/zig/lib/std/s
d6640 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 6c 61 tart.zig:322:5</span>:.<span.cla
d6660 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 32 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e ss="t2_0">0x205f22.in.std.start.
d6680 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 70 61 _start.(test)</span></span>.<spa
d66a0 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 6f 64 n.class="line">....@call(.{..mod
d66c0 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 43 61 ifier.=..never_inline.},.posixCa
d66e0 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 70 61 llMainAndExit,..{});</span>.<spa
d6700 6e 20 63 6c 61 73 73 3d 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="
d6720 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
d6740 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 62 79 ss="line">(process.terminated.by
d6760 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 2f 66 .signal)</span>.</samp></pre></f
d6780 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 74 72 75 6e 63 61 igure>.......<p>.......To.trunca
d67a0 74 65 20 62 69 74 73 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 te.bits,.use.<a.href="#truncate"
d67c0 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 >@truncate</a>........</p>......
d67e0 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 ........<h3.id="Integer-Overflow
d6800 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 74 65 67 65 72 "><a.href="nav.xhtml#toc-Integer
d6820 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 -Overflow">Integer.Overflow</a>.
d6840 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 <a.class="hdr".href="#Integer-Ov
d6860 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 erflow">..</a></h3>........<h4.i
d6880 64 3d 22 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 d="Default-Operations"><a.href="
d68a0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 nav.xhtml#toc-Default-Operations
d68c0 22 3e 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 ">Default.Operations</a>.<a.clas
d68e0 73 3d 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 s="hdr".href="#Default-Operation
d6900 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c s">..</a></h4>........<p>The.fol
d6920 6c 6f 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 lowing.operators.can.cause.integ
d6940 65 72 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 er.overflow:</p>.......<ul>.....
d6960 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
d6980 65 22 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 e">+</span></code>.(addition)</l
d69a0 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
d69c0 73 73 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 ss="line">-</span></code>.(subtr
d69e0 61 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 action)</li>...........<li><code
d6a00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">-</span></co
d6a20 64 65 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 de>.(negation)</li>...........<l
d6a40 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 3c 2f 73 70 i><code><span.class="line">*</sp
d6a60 61 6e 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 an></code>.(multiplication)</li>
d6a80 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
d6aa0 3d 22 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 ="line">/</span></code>.(divisio
d6ac0 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 n)</li>.........<li><a.href="#di
d6ae0 76 54 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 vTrunc">@divTrunc</a>.(division)
d6b00 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 46 </li>.........<li><a.href="#divF
d6b20 6c 6f 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 loor">@divFloor</a>.(division)</
d6b40 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 45 78 61 li>.........<li><a.href="#divExa
d6b60 63 74 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 ct">@divExact</a>.(division)</li
d6b80 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 77 >.......</ul>.......<p>Example.w
d6ba0 69 74 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 ith.addition.at.compile-time:</p
d6bc0 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
d6be0 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
d6c00 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>
d6c20 3c 63 6f 64 65 3e 3c 73 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
d6c40 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>.{<
d6c60 2f 73 70 61 6e 3e 0a 3c 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
d6c80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 pan.class="tok-kw">var</span>.by
d6ca0 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 te:.<span.class="tok-type">u8</s
d6cc0 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">
d6ce0 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 255</span>;</span>.<span.class="
d6d00 6c 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">....byte.+=.<span.class="t
d6d20 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
d6d40 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></
d6d60 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
d6d80 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
d6da0 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
d6dc0 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
d6de0 3e 3c 2f 73 70 61 6e 3e 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
d6e00 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
d6e20 2e 7a 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 .zig:3:10:.</span><span.class="t
d6e40 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=
d6e60 22 74 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 "t0_1">operation.caused.overflow
d6e80 3c 2f 73 70 61 6e 3e 3c 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
d6ea0 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 20 63 6c ">....byte.+=.1;</span>.<span.cl
d6ec0 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 73 73 3d ass="line">.........<span.class=
d6ee0 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><
d6f00 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
d6f20 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
d6f40 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
d6f60 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
d6f80 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"><
d6fa0 73 70 61 6e 20 63 6c 61 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>
d6fc0 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"
d6fe0 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
d7000 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>);</
d7020 73 70 61 6e 3e 0a 3c 73 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>
d7040 0a 3c 73 70 61 6e 20 63 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=
d7060 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=
d7080 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="
d70a0 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
d70c0 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
d70e0 3e 0a 3c 73 70 61 6e 20 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
d7100 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 3c lass="tok-kw">var</span>.byte:.<
d7120 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>.
d7140 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f =.<span.class="tok-number">255</
d7160 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"
d7180 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 2d 6e 75 >....byte.+=.<span.class="tok-nu
d71a0 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
d71c0 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
d71e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a pan.class="tok-str">&quot;value:
d7200 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 3b 3c 2f 73 .{}\n&quot;</span>,..{byte});</s
d7220 70 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>
d7240 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
d7260 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
d7280 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
d72a0 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 65 lass="line">$.<kbd>zig.build-exe
d72c0 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
d72e0 73 73 3d 22 6c 69 6e 65 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
d7300 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 0a ine">$.<kbd>./test</kbd></span>.
d7320 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 37 39 37 37 39 34 <span.class="line">thread.797794
d7340 20 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 .panic:.integer.overflow</span>.
d7360 3c 73 70 61 6e 20 63 6c 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="
d7380 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 t1_0">/home/andy/Downloads/zig/d
d73a0 6f 63 67 65 6e 5f 74 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 ocgen_tmp/test.zig:5:10</span>:.
d73c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 66 30 66 20 69 6e 20 6d <span.class="t2_0">0x22cf0f.in.m
d73e0 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
d7400 6c 61 73 73 3d 22 6c 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 lass="line">....byte.+=.1;</span
d7420 3e 0a 3c 73 70 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 >.<span.class="line">.........<s
d7440 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
d7460 3e 0a 3c 73 70 61 6e 20 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
d7480 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 ="t1_0">/home/andy/Downloads/zig
d74a0 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e /lib/std/start.zig:543:22</span>
d74c0 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 35 63 37 63 20 69 6e :.<span.class="t2_0">0x225c7c.in
d74e0 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 61 6e .std.start.callMain.(test)</span
d7500 3e 3c 2f 73 70 61 6e 3e 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">....
d7520 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 70 61 ........root.main();</span>.<spa
d7540 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">.................
d7560 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>
d7580 3c 2f 73 70 61 6e 3e 0a 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
d75a0 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 44 6f 77 6e 6c 6f 61 .class="t1_0">/home/andy/Downloa
d75c0 64 73 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 ds/zig/lib/std/start.zig:495:12<
d75e0 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 37 /span>:.<span.class="t2_0">0x207
d7600 30 37 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 07e.in.std.start.callMainWithArg
d7620 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 6c 61 s.(test)</span></span>.<span.cla
d7640 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 2e 6d ss="line">....return.@call(.{..m
d7660 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
d7680 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 3d 22 Main,..{});</span>.<span.class="
d76a0 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 74 33 line">...........<span.class="t3
d76c0 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
d76e0 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
d7700 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 /andy/Downloads/zig/lib/std/star
d7720 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 61 73 73 t.zig:409:17</span>:.<span.class
d7740 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 31 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f ="t2_0">0x206116.in.std.start.po
d7760 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 61 6e 3e sixCallMainAndExit.(test)</span>
d7780 3c 2f 73 70 61 6e 3e 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
d77a0 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 20 3d 20 td.os.exit(@call(.{..modifier.=.
d77c0 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 68 41 72 .always_inline.},.callMainWithAr
d77e0 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 2f 73 70 gs,..{.argc,.argv,.envp.}));</sp
d7800 61 6e 3e 0a 3c 73 70 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">.........
d7820 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
d7840 61 6e 3e 3c 2f 73 70 61 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
d7860 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 44 6f 77 6e pan.class="t1_0">/home/andy/Down
d7880 6c 6f 61 64 73 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 loads/zig/lib/std/start.zig:322:
d78a0 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 32 5</span>:.<span.class="t2_0">0x2
d78c0 30 35 66 32 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 05f22.in.std.start._start.(test)
d78e0 3c 2f 73 70 61 6e 3e 3c 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
d7900 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 65 ">....@call(.{..modifier.=..neve
d7920 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 74 r_inline.},.posixCallMainAndExit
d7940 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
d7960 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 61 ">....<span.class="t32_1">^</spa
d7980 6e 3e 3c 2f 73 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 n></span>.<span.class="line">(pr
d79a0 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 61 ocess.terminated.by.signal)</spa
d79c0 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>.......
d79e0 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 2d .......<h4.id="Standard-Library-
d7a00 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 6e 61 76 2e 78 68 74 Math-Functions"><a.href="nav.xht
d7a20 6d 6c 23 74 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e ml#toc-Standard-Library-Math-Fun
d7a40 63 74 69 6f 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 20 46 75 ctions">Standard.Library.Math.Fu
d7a60 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d nctions</a>.<a.class="hdr".href=
d7a80 22 23 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e "#Standard-Library-Math-Function
d7aa0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 66 s">..</a></h4>........<p>These.f
d7ac0 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 72 unctions.provided.by.the.standar
d7ae0 64 20 6c 69 62 72 61 72 79 20 72 65 74 75 72 6e 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 73 d.library.return.possible.errors
d7b00 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c .</p>.......<ul>...........<li><
d7b20 63 6f 64 65 3e 3c 73 70 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
d7b40 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>
d7b60 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
d7b80 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 61 64 64 3c 2f 73 70 61 6e 3e 3c 2f &quot;</span>).math.add</span></
d7ba0 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><
d7bc0 73 70 61 6e 20 63 6c 61 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
d7be0 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
d7c00 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;
d7c20 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c </span>).math.sub</span></code><
d7c40 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
d7c60 6c 61 73 73 3d 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
d7c80 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
d7ca0 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
d7cc0 3e 29 2e 6d 61 74 68 2e 6d 75 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 >).math.mul</span></code></li>..
d7ce0 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="
d7d00 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">
d7d20 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-
d7d40 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 str">&quot;std&quot;</span>).mat
d7d60 68 2e 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 h.divTrunc</span></code></li>...
d7d80 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........<li><code><span.class="l
d7da0 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">@
d7dc0 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
d7de0 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 tr">&quot;std&quot;</span>).math
d7e00 2e 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 .divFloor</span></code></li>....
d7e20 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
d7e40 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
d7e60 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
d7e80 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.
d7ea0 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 divExact</span></code></li>.....
d7ec0 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
d7ee0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d e"><span.class="tok-builtin">@im
d7f00 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
d7f20 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 73 ">&quot;std&quot;</span>).math.s
d7f40 68 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 3c 2f 75 6c hl</span></code></li>.......</ul
d7f60 3e 0a 20 20 20 20 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 6f 66 20 63 61 74 63 68 69 6e 67 20 61 >.......<p>Example.of.catching.a
d7f80 6e 20 6f 76 65 72 66 6c 6f 77 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 n.overflow.for.addition:</p>....
d7fa0 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
d7fc0 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
d7fe0 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
d8000 3e 3c 73 70 61 6e 20 63 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=
d8020 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 74 68 20 3d 20 3c 73 70 "tok-kw">const</span>.math.=.<sp
d8040 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</
d8060 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
d8080 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 3b 3c 2f 73 70 61 6e 3e t;std&quot;</span>).math;</span>
d80a0 0a 3c 73 70 61 6e 20 63 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=
d80c0 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
d80e0 70 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<
d8100 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
d8120 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
d8140 3b 3c 2f 73 70 61 6e 3e 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
d8160 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
d8180 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
d81a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c .class="tok-fn">main</span>().!<
d81c0 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
d81e0 3e 20 7b 3c 2f 73 70 61 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">..
d8200 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
d8220 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 3e 75 >.byte:.<span.class="tok-type">u
d8240 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
d8260 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 61 er">255</span>;</span>.<span.cla
d8280 73 73 3d 22 6c 69 6e 65 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
d82a0 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ine">....byte.=.<span.class="tok
d82c0 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6d 61 74 68 2e 61 64 64 28 3c 73 70 61 6e 20 63 -kw">if</span>.(math.add(<span.c
d82e0 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 79 74 65 2c lass="tok-type">u8</span>,.byte,
d8300 20 3c 73 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
d8320 6e 3e 29 29 20 7c 72 65 73 75 6c 74 7c 20 72 65 73 75 6c 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 n>)).|result|.result.<span.class
d8340 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 ="tok-kw">else</span>.|err|.{</s
d8360 70 61 6e 3e 0a 3c 73 70 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">........
d8380 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
d83a0 74 3b 75 6e 61 62 6c 65 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b t;unable.to.add.one:.{s}\n&quot;
d83c0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c </span>,..{<span.class="tok-buil
d83e0 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 3c 2f tin">@errorName</span>(err)});</
d8400 73 70 61 6e 3e 0a 3c 73 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">.......
d8420 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
d8440 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 6c 69 6e an>.err;</span>.<span.class="lin
d8460 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
d8480 6e 65 22 3e 3c 2f 73 70 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">.
d84a0 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
d84c0 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 3e 2c 20 quot;result:.{}\n&quot;</span>,.
d84e0 2e 7b 62 79 74 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .{byte});</span>.<span.class="li
d8500 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
d8520 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
d8540 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><
d8560 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
d8580 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 61 ig.build-exe.test.zig</kbd></spa
d85a0 6e 3e 0a 3c 73 70 61 6e 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
d85c0 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 2f pan.class="line">$.<kbd>./test</
d85e0 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 75 kbd></span>.<span.class="line">u
d8600 6e 61 62 6c 65 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e nable.to.add.one:.Overflow</span
d8620 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 3a 20 4f 76 65 72 >.<span.class="line">error:.Over
d8640 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c flow</span>.<span.class="line"><
d8660 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 44 6f 77 span.class="t1_0">/home/andy/Dow
d8680 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 6d 61 74 68 2e 7a 69 67 3a 34 36 33 3a nloads/zig/lib/std/math.zig:463:
d86a0 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 32 5</span>:.<span.class="t2_0">0x2
d86c0 33 34 61 33 62 20 69 6e 20 73 74 64 2e 6d 61 74 68 2e 61 64 64 20 28 74 65 73 74 29 3c 2f 73 70 34a3b.in.std.math.add.(test)</sp
d86e0 61 6e 3e 3c 2f 73 70 61 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">..
d8700 20 20 72 65 74 75 72 6e 20 69 66 20 28 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 28 54 2c ..return.if.(@addWithOverflow(T,
d8720 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 65 72 72 6f 72 2e 4f 76 65 72 66 .a,.b,.&amp;answer)).error.Overf
d8740 6c 6f 77 20 65 6c 73 65 20 61 6e 73 77 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c low.else.answer;</span>.<span.cl
d8760 61 73 73 3d 22 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_
d8780 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="
d87a0 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
d87c0 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 ndy/Downloads/zig/docgen_tmp/tes
d87e0 74 2e 7a 69 67 3a 38 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 t.zig:8:9</span>:.<span.class="t
d8800 32 5f 30 22 3e 30 78 32 32 64 32 39 34 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 2_0">0x22d294.in.main.(test)</sp
d8820 61 6e 3e 3c 2f 73 70 61 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">..
d8840 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ......return.err;</span>.<span.c
d8860 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=
d8880 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><
d88a0 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 34 20 /pre></figure>..............<h4.
d88c0 69 64 3d 22 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 id="Builtin-Overflow-Functions">
d88e0 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 4f <a.href="nav.xhtml#toc-Builtin-O
d8900 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 72 66 verflow-Functions">Builtin.Overf
d8920 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 64 72 22 low.Functions</a>.<a.class="hdr"
d8940 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 74 69 6f .href="#Builtin-Overflow-Functio
d8960 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ns">..</a></h4>........<p>......
d8980 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 65 3e 3c .These.builtins.return.a.<code><
d89a0 73 70 61 6e 20 63 6c 61 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
d89c0 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
d89e0 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 0a 20 20 e>.of.whether.or.not.overflow...
d8a00 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 72 6e 69 ....occurred,.as.well.as.returni
d8a20 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 20 3c 2f ng.the.overflowed.bits:.......</
d8a40 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 p>.......<ul>...........<li><a.h
d8a60 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f ref="#addWithOverflow">@addWithO
d8a80 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c verflow</a></li>...........<li><
d8aa0 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 a.href="#subWithOverflow">@subWi
d8ac0 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
d8ae0 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 i><a.href="#mulWithOverflow">@mu
d8b00 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 20 lWithOverflow</a></li>..........
d8b20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e .<li><a.href="#shlWithOverflow">
d8b40 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 @shlWithOverflow</a></li>.......
d8b60 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 </ul>.......<p>.......Example.of
d8b80 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 .<a.href="#addWithOverflow">@add
d8ba0 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 WithOverflow</a>:.......</p>....
d8bc0 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
d8be0 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
d8c00 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
d8c20 3e 3c 73 70 61 6e 20 63 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=
d8c40 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
d8c60 70 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<
d8c80 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
d8ca0 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
d8cc0 3b 3c 2f 73 70 61 6e 3e 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
d8ce0 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
d8d00 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
d8d20 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
d8d40 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>
d8d60 20 7b 3c 2f 73 70 61 6e 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">...
d8d80 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>
d8da0 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 3e 75 38 .byte:.<span.class="tok-type">u8
d8dc0 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
d8de0 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 61 73 r">255</span>;</span>.<span.clas
d8e00 73 3d 22 6c 69 6e 65 22 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
d8e20 6e 65 22 3e 20 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
d8e40 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.result:.<span.class="tok
d8e60 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u8</span>.=.<span.class="
d8e80 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 tok-null">undefined</span>;</spa
d8ea0 6e 3e 0a 3c 73 70 61 6e 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.
d8ec0 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 61 6e 20 class="tok-kw">if</span>.(<span.
d8ee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 class="tok-builtin">@addWithOver
d8f00 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 74 79 70 flow</span>(<span.class="tok-typ
d8f20 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 73 73 3d e">u8</span>,.byte,.<span.class=
d8f40 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 72 65 73 "tok-number">10</span>,.&amp;res
d8f60 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 69 6e 65 ult)).{</span>.<span.class="line
d8f80 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">........print(<span.class="tok
d8fa0 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 3a 20 7b -str">&quot;overflowed.result:.{
d8fc0 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 3c 2f 73 }\n&quot;</span>,..{result});</s
d8fe0 70 61 6e 3e 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
d9000 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>.{
d9020 3c 2f 73 70 61 6e 3e 0a 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">.....
d9040 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
d9060 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 3e 2c 20 quot;result:.{}\n&quot;</span>,.
d9080 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 73 3d 22 .{result});</span>.<span.class="
d90a0 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="
d90c0 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
d90e0 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
d9100 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
d9120 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
d9140 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 73 >zig.build-exe.test.zig</kbd></s
d9160 70 61 6e 3e 0a 3c 73 70 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>.
d9180 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 74 <span.class="line">$.<kbd>./test
d91a0 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"
d91c0 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 3c 2f 73 >overflowed.result:.9</span>.</s
d91e0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 amp></pre></figure>.............
d9200 20 3c 68 34 20 69 64 3d 22 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 .<h4.id="Wrapping-Operations"><a
d9220 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 .href="nav.xhtml#toc-Wrapping-Op
d9240 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 erations">Wrapping.Operations</a
d9260 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 >.<a.class="hdr".href="#Wrapping
d9280 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 -Operations">..</a></h4>........
d92a0 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 68 61 76 65 20 <p>.......These.operations.have.
d92c0 67 75 61 72 61 6e 74 65 65 64 20 77 72 61 70 61 72 6f 75 6e 64 20 73 65 6d 61 6e 74 69 63 73 2e guaranteed.wraparound.semantics.
d92e0 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>..........
d9300 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 2b 25 .<li><code><span.class="line">+%
d9320 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 61 64 64 69 74 </span></code>.(wraparound.addit
d9340 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 ion)</li>...........<li><code><s
d9360 70 61 6e 20 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 pan.class="line">-%</span></code
d9380 3e 20 28 77 72 61 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 >.(wraparound.subtraction)</li>.
d93a0 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=
d93c0 22 6c 69 6e 65 22 3e 2d 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f "line">-%</span></code>.(wraparo
d93e0 75 6e 64 20 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 und.negation)</li>...........<li
d9400 3e 3c 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 25 3c 2f 73 70 ><code><span.class="line">*%</sp
d9420 61 6e 3e 3c 2f 63 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 an></code>.(wraparound.multiplic
d9440 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 66 ation)</li>.......</ul>.......<f
d9460 69 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
d9480 22 3e 3c 63 69 74 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 "><cite.class="file">wraparound_
d94a0 73 65 6d 61 6e 74 69 63 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e semantics.zig</cite></figcaption
d94c0 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"><
d94e0 73 70 61 6e 20 63 6c 61 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>
d9500 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"
d9520 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
d9540 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>);</
d9560 73 70 61 6e 3e 0a 3c 73 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
d9580 6c 61 73 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
d95a0 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>.<
d95c0 73 70 61 6e 20 63 6c 61 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
d95e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 49 6e 74 20 3d 20 73 74 64 ok-kw">const</span>.minInt.=.std
d9600 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .math.minInt;</span>.<span.class
d9620 3d 22 6c 69 6e 65 22 3e 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
d9640 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 st</span>.maxInt.=.std.math.maxI
d9660 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f nt;</span>.<span.class="line"></
d9680 73 70 61 6e 3e 0a 3c 73 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
d96a0 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.
d96c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 61 70 61 72 6f 75 6e 64 class="tok-str">&quot;wraparound
d96e0 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 26 71 75 6f 74 3b 3c .addition.and.subtraction&quot;<
d9700 2f 73 70 61 6e 3e 20 7b 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
d9720 65 22 3e 20 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
d9740 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.x:.<span.class="tok-typ
d9760 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 e">i32</span>.=.maxInt(<span.cla
d9780 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-type">i32</span>);</span
d97a0 3e 0a 3c 73 70 61 6e 20 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
d97c0 6c 61 73 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 69 6e 5f 76 lass="tok-kw">const</span>.min_v
d97e0 61 6c 20 3d 20 78 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 al.=.x.+%.<span.class="tok-numbe
d9800 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=
d9820 22 6c 69 6e 65 22 3e 20 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">
d9840 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 69 6e 5f 76 61 6c 20 3d 3d 20 6d 69 6e try</span>.expect(min_val.==.min
d9860 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f Int(<span.class="tok-type">i32</
d9880 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
d98a0 65 22 3e 20 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
d98c0 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 5f 76 61 6c 20 3d 20 6d 69 6e 5f 76 61 6c 20 2d 25 20 3c 73 t</span>.max_val.=.min_val.-%.<s
d98e0 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>;
d9900 3c 2f 73 70 61 6e 3e 0a 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">....<
d9920 73 70 61 6e 20 63 6c 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
d9940 78 70 65 63 74 28 6d 61 78 5f 76 61 6c 20 3d 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c xpect(max_val.==.maxInt(<span.cl
d9960 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 3b 3c 2f 73 70 ass="tok-type">i32</span>));</sp
d9980 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><
d99a0 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
d99c0 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
d99e0 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
d9a00 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 72 61 70 61 ass="line">$.<kbd>zig.test.wrapa
d9a20 72 6f 75 6e 64 5f 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 round_semantics.zig</kbd></span>
d9a40 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
d9a60 6f 74 3b 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 20 61 6e 64 20 73 75 62 74 72 ot;wraparound.addition.and.subtr
d9a80 61 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 73 70 61 6e 20 action&quot;....OK</span>.<span.
d9aa0 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.
d9ac0 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>..
d9ae0 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 63 74 ...................<h3.id="Exact
d9b00 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 6e -Left-Shift-Overflow"><a.href="n
d9b20 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 av.xhtml#toc-Exact-Left-Shift-Ov
d9b40 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f erflow">Exact.Left.Shift.Overflo
d9b60 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 w</a>.<a.class="hdr".href="#Exac
d9b80 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 t-Left-Shift-Overflow">..</a></h
d9ba0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3>........<p>At.compile-time:</p
d9bc0 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
d9be0 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
d9c00 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>
d9c20 3c 63 6f 64 65 3e 3c 73 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
d9c40 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>.{<
d9c60 2f 73 70 61 6e 3e 0a 3c 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
d9c80 70 61 6e 20 63 6c 61 73 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>.
d9ca0 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 x.=.<span.class="tok-builtin">@s
d9cc0 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d hlExact</span>(<span.class="tok-
d9ce0 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=
d9d00 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
d9d20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e s="tok-number">0b01010101</span>
d9d40 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 ),.<span.class="tok-number">2</s
d9d60 70 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"
d9d80 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 22 >...._.=.x;</span>.<span.class="
d9da0 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
d9dc0 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
d9de0 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
d9e00 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
d9e20 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>.
d9e40 3c 73 70 61 6e 20 63 6c 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="
d9e60 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 32 3a 31 35 t0_1">./docgen_tmp/test.zig:2:15
d9e80 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
d9ea0 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 6f 70 or:.</span><span.class="t0_1">op
d9ec0 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 73 70 61 6e 3e 3c 2f eration.caused.overflow</span></
d9ee0 73 70 61 6e 3e 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 span>.<span.class="line">....con
d9f00 73 74 20 78 20 3d 20 40 73 68 6c 45 78 61 63 74 28 40 61 73 28 75 38 2c 20 30 62 30 31 30 31 30 st.x.=.@shlExact(@as(u8,.0b01010
d9f20 31 30 31 29 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 101),.2);</span>.<span.class="li
d9f40 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 74 ne">..............<span.class="t
d9f60 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
d9f80 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
d9fa0 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.
d9fc0 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
d9fe0 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><
da000 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
da020 61 6e 20 63 6c 61 73 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
da040 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">@
da060 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
da080 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
da0a0 61 6e 3e 0a 3c 73 70 61 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>.<
da0c0 73 70 61 6e 20 63 6c 61 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
da0e0 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
da100 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
da120 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=
da140 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>.
da160 3c 73 70 61 6e 20 63 6c 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
da180 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 ss="tok-kw">var</span>.x:.<span.
da1a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 class="tok-type">u8</span>.=.<sp
da1c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 an.class="tok-number">0b01010101
da1e0 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
da200 65 22 3e 20 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<
da220 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c /span>.y.=.<span.class="tok-buil
da240 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 78 2c 20 3c 73 70 61 6e 20 63 tin">@shlExact</span>(x,.<span.c
da260 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
da280 61 6e 3e 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 an>.<span.class="line">....std.d
da2a0 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 22 ebug.print(<span.class="tok-str"
da2c0 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c >&quot;value:.{}\n&quot;</span>,
da2e0 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ..{y});</span>.<span.class="line
da300 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>
da320 3c 66 69 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
da340 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
da360 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
da380 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 3e .build-exe.test.zig</kbd></span>
da3a0 0a 3c 73 70 61 6e 20 63 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
da3c0 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 62 n.class="line">$.<kbd>./test</kb
da3e0 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 72 d></span>.<span.class="line">thr
da400 65 61 64 20 37 39 37 39 36 31 20 70 61 6e 69 63 3a 20 6c 65 66 74 20 73 68 69 66 74 20 6f 76 65 ead.797961.panic:.left.shift.ove
da420 72 66 6c 6f 77 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 rflowed.bits</span>.<span.class=
da440 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/
da460 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 andy/Downloads/zig/docgen_tmp/te
da480 73 74 2e 7a 69 67 3a 35 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:5:13</span>:.<span.class=
da4a0 22 74 32 5f 30 22 3e 30 78 32 32 63 66 35 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f "t2_0">0x22cf5b.in.main.(test)</
da4c0 73 70 61 6e 3e 3c 2f 73 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">
da4e0 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 6c 45 78 61 63 74 28 78 2c 20 32 29 3b 3c 2f 73 70 ....var.y.=.@shlExact(x,.2);</sp
da500 61 6e 3e 0a 3c 73 70 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">.........
da520 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><
da540 2f 73 70 61 6e 3e 0a 3c 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.
da560 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 class="t1_0">/home/andy/Download
da580 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f s/zig/lib/std/start.zig:543:22</
da5a0 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 35 63 span>:.<span.class="t2_0">0x225c
da5c0 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 74 29 3c ac.in.std.start.callMain.(test)<
da5e0 2f 73 70 61 6e 3e 3c 2f 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"
da600 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>
da620 0a 3c 73 70 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">............
da640 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">^</
da660 73 70 61 6e 3e 3c 2f 73 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">
da680 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 44 6f <span.class="t1_0">/home/andy/Do
da6a0 77 6e 6c 6f 61 64 73 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 wnloads/zig/lib/std/start.zig:49
da6c0 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">
da6e0 30 78 32 30 37 30 61 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 0x2070ae.in.std.start.callMainWi
da700 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
da720 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(
da740 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.},
da760 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
da780 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
da7a0 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.
da7c0 63 6c 61 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">
da7e0 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 /home/andy/Downloads/zig/lib/std
da800 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 6e 20 /start.zig:409:17</span>:.<span.
da820 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 34 36 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x206146.in.std.sta
da840 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 3c 2f rt.posixCallMainAndExit.(test)</
da860 73 70 61 6e 3e 3c 2f 73 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">
da880 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 66 69 ....std.os.exit(@call(.{..modifi
da8a0 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 57 er.=..always_inline.},.callMainW
da8c0 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 29 29 ithArgs,..{.argc,.argv,.envp.}))
da8e0 3b 3c 2f 73 70 61 6e 3e 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">....
da900 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">
da920 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
da940 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
da960 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
da980 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
da9a0 22 3e 30 78 32 30 35 66 35 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x205f52.in.std.start._start.(
da9c0 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=
da9e0 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.=.
daa00 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
daa20 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=
daa40 22 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">^
daa60 3c 2f 73 70 61 6e 3e 3c 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
daa80 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)
daaa0 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>..
daac0 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 52 69 67 68 74 2d ............<h3.id="Exact-Right-
daae0 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 6e 61 76 2e 78 68 74 Shift-Overflow"><a.href="nav.xht
dab00 6d 6c 23 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f ml#toc-Exact-Right-Shift-Overflo
dab20 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 w">Exact.Right.Shift.Overflow</a
dab40 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 52 69 >.<a.class="hdr".href="#Exact-Ri
dab60 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ght-Shift-Overflow">..</a></h3>.
dab80 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>..
daba0 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="
dabc0 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
dabe0 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
dac00 64 65 3e 3c 73 70 61 6e 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
dac20 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
dac40 61 6e 3e 0a 3c 73 70 61 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
dac60 20 63 6c 61 73 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.=
dac80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 .<span.class="tok-builtin">@shrE
daca0 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 xact</span>(<span.class="tok-bui
dacc0 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
dace0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-type">u8</span>,.<span.class="
dad00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 29 2c 20 tok-number">0b10101010</span>),.
dad20 3c 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
dad40 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">..
dad60 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 22 6c 69 6e .._.=.x;</span>.<span.class="lin
dad80 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
dada0 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
dadc0 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
dade0 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
dae00 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
dae20 61 6e 20 63 6c 61 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_
dae40 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 32 3a 31 35 3a 20 3c 1">./docgen_tmp/test.zig:2:15:.<
dae60 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:
dae80 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 78 61 63 74 .</span><span.class="t0_1">exact
daea0 20 73 68 69 66 74 20 73 68 69 66 74 65 64 20 6f 75 74 20 31 20 62 69 74 73 3c 2f 73 70 61 6e 3e .shift.shifted.out.1.bits</span>
daec0 3c 2f 73 70 61 6e 3e 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
daee0 6f 6e 73 74 20 78 20 3d 20 40 73 68 72 45 78 61 63 74 28 40 61 73 28 75 38 2c 20 30 62 31 30 31 onst.x.=.@shrExact(@as(u8,.0b101
daf00 30 31 30 31 30 29 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 01010),.2);</span>.<span.class="
daf20 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 63 6c 61 73 73 3d line">..............<span.class=
daf40 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><
daf60 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
daf80 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
dafa0 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
dafc0 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
dafe0 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"><
db000 73 70 61 6e 20 63 6c 61 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>
db020 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"
db040 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
db060 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>);</
db080 73 70 61 6e 3e 0a 3c 73 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>
db0a0 0a 3c 73 70 61 6e 20 63 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=
db0c0 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=
db0e0 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="
db100 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
db120 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
db140 3e 0a 3c 73 70 61 6e 20 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
db160 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 lass="tok-kw">var</span>.x:.<spa
db180 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>.=.<
db1a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 30 span.class="tok-number">0b101010
db1c0 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 10</span>;</span>.<span.class="l
db1e0 69 6e 65 22 3e 20 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
db200 72 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 r</span>.y.=.<span.class="tok-bu
db220 69 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 78 2c 20 3c 73 70 61 6e iltin">@shrExact</span>(x,.<span
db240 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>);</
db260 73 70 61 6e 3e 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
db280 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 74 .debug.print(<span.class="tok-st
db2a0 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e r">&quot;value:.{}\n&quot;</span
db2c0 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >,..{y});</span>.<span.class="li
db2e0 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
db300 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
db320 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><
db340 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
db360 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 61 ig.build-exe.test.zig</kbd></spa
db380 6e 3e 0a 3c 73 70 61 6e 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
db3a0 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 2f pan.class="line">$.<kbd>./test</
db3c0 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 74 kbd></span>.<span.class="line">t
db3e0 68 72 65 61 64 20 37 39 38 30 32 31 20 70 61 6e 69 63 3a 20 72 69 67 68 74 20 73 68 69 66 74 20 hread.798021.panic:.right.shift.
db400 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 overflowed.bits</span>.<span.cla
db420 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
db440 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 me/andy/Downloads/zig/docgen_tmp
db460 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 61 6e 20 63 6c 61 /test.zig:5:13</span>:.<span.cla
db480 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 66 36 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 ss="t2_0">0x22cf6b.in.main.(test
db4a0 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
db4c0 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 2c 20 32 29 3b 3c e">....var.y.=.@shrExact(x,.2);<
db4e0 2f 73 70 61 6e 3e 0a 3c 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">......
db500 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
db520 6e 3e 3c 2f 73 70 61 6e 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
db540 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
db560 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 oads/zig/lib/std/start.zig:543:2
db580 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
db5a0 32 35 63 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 25cbc.in.std.start.callMain.(tes
db5c0 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
db5e0 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
db600 61 6e 3e 0a 3c 73 70 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">.........
db620 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">
db640 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
db660 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
db680 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
db6a0 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 5f :495:12</span>:.<span.class="t2_
db6c0 30 22 3e 30 78 32 30 37 30 62 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 0">0x2070be.in.std.start.callMai
db6e0 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 3c nWithArgs.(test)</span></span>.<
db700 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 61 span.class="line">....return.@ca
db720 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 65 ll(.{..modifier.=..always_inline
db740 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 6e .},.callMain,..{});</span>.<span
db760 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 63 .class="line">...........<span.c
db780 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
db7a0 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
db7c0 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
db7e0 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
db800 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 74 64 2e an.class="t2_0">0x206156.in.std.
db820 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
db840 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
db860 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
db880 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
db8a0 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.
db8c0 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">.
db8e0 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_
db900 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="
db920 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
db940 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e ndy/Downloads/zig/lib/std/start.
db960 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 74 zig:322:5</span>:.<span.class="t
db980 32 5f 30 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 2_0">0x205f62.in.std.start._star
db9a0 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
db9c0 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 72 ss="line">....@call(.{..modifier
db9e0 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 69 .=..never_inline.},.posixCallMai
dba00 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 61 nAndExit,..{});</span>.<span.cla
dba20 73 73 3d 22 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 ss="line">....<span.class="t32_1
dba40 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
dba60 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 6e ine">(process.terminated.by.sign
dba80 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 65 al)</span>.</samp></pre></figure
dbaa0 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 69 76 69 73 69 6f 6e 2d >..............<h3.id="Division-
dbac0 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d by-Zero"><a.href="nav.xhtml#toc-
dbae0 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 Division-by-Zero">Division.by.Ze
dbb00 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 69 76 ro</a>.<a.class="hdr".href="#Div
dbb20 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ision-by-Zero">..</a></h3>......
dbb40 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 ..<p>At.compile-time:</p>.......
dbb60 3c 66 69 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
dbb80 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 3c ap"><cite.class="file">test.zig<
dbba0 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
dbbc0 70 61 6e 20 63 6c 61 73 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
dbbe0 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">comptime</span>.{</span>.<
dbc00 73 70 61 6e 20 63 6c 61 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
dbc20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e s="tok-kw">const</span>.a:.<span
dbc40 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>.=.<
dbc60 73 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>
dbc80 3b 3c 2f 73 70 61 6e 3e 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">....
dbca0 3c 73 70 61 6e 20 63 6c 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
dbcc0 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c >.b:.<span.class="tok-type">i32<
dbce0 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
dbd00 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="
dbd20 6c 69 6e 65 22 3e 20 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
dbd40 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 6e 3e 0a 3c 73 onst</span>.c.=.a./.b;</span>.<s
dbd60 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 3c 2f 73 70 61 pan.class="line">...._.=.c;</spa
dbd80 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></
dbda0 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
dbdc0 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<
dbde0 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
dbe00 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 7a ss="line">$.<kbd>zig.test.test.z
dbe20 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
dbe40 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
dbe60 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 70 61 6e 20 63 mp/test.zig:4:17:.</span><span.c
dbe80 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
dbea0 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 65 72 6f 3c 2f .class="t0_1">division.by.zero</
dbec0 73 70 61 6e 3e 3c 2f 73 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">
dbee0 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 0a 3c 73 70 61 ....const.c.=.a./.b;</span>.<spa
dbf00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c n.class="line">................<
dbf20 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
dbf40 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>.......
dbf60 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
dbf80 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
dbfa0 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><
dbfc0 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
dbfe0 73 73 3d 22 6c 69 6e 65 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
dc000 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
dc020 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
dc040 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;
dc060 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
dc080 6e 65 22 3e 3c 2f 73 70 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"><
dc0a0 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>.<
dc0c0 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
dc0e0 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>()
dc100 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
dc120 61 6e 3e 20 7b 3c 2f 73 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">
dc140 20 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
dc160 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 33 an>.a:.<span.class="tok-type">u3
dc180 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
dc1a0 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
dc1c0 3d 22 6c 69 6e 65 22 3e 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"
dc1e0 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 2d >var</span>.b:.<span.class="tok-
dc200 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="
dc220 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
dc240 61 6e 20 63 6c 61 73 73 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=
dc260 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f "tok-kw">var</span>.c.=.a./.b;</
dc280 73 70 61 6e 3e 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
dc2a0 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 74 .debug.print(<span.class="tok-st
dc2c0 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e r">&quot;value:.{}\n&quot;</span
dc2e0 3e 2c 20 2e 7b 63 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >,..{c});</span>.<span.class="li
dc300 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
dc320 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
dc340 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><
dc360 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
dc380 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 61 ig.build-exe.test.zig</kbd></spa
dc3a0 6e 3e 0a 3c 73 70 61 6e 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
dc3c0 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 2f pan.class="line">$.<kbd>./test</
dc3e0 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 74 kbd></span>.<span.class="line">t
dc400 68 72 65 61 64 20 37 39 38 30 38 31 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 hread.798081.panic:.division.by.
dc420 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 69 6e 65 22 3e 3c zero</span>.<span.class="line"><
dc440 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 44 6f 77 span.class="t1_0">/home/andy/Dow
dc460 6e 6c 6f 61 64 73 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 nloads/zig/docgen_tmp/test.zig:6
dc480 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
dc4a0 78 32 32 63 66 31 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 x22cf19.in.main.(test)</span></s
dc4c0 70 61 6e 3e 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.
dc4e0 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
dc500 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="
dc520 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
dc540 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
dc560 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 me/andy/Downloads/zig/lib/std/st
dc580 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 art.zig:543:22</span>:.<span.cla
dc5a0 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 63 37 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e ss="t2_0">0x225c7c.in.std.start.
dc5c0 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 73 callMain.(test)</span></span>.<s
dc5e0 70 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 pan.class="line">............roo
dc600 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 69 t.main();</span>.<span.class="li
dc620 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 63 ne">.....................<span.c
dc640 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
dc660 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
dc680 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
dc6a0 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
dc6c0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 37 65 20 69 6e 20 73 74 64 2e an.class="t2_0">0x20707e.in.std.
dc6e0 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
dc700 70 61 6e 3e 3c 2f 73 70 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">.
dc720 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.=..
dc740 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,..{});
dc760 3c 2f 73 70 61 6e 3e 0a 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">.....
dc780 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
dc7a0 6e 3e 3c 2f 73 70 61 6e 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
dc7c0 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
dc7e0 6f 61 64 73 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 oads/zig/lib/std/start.zig:409:1
dc800 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
dc820 30 36 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 69 6e 06116.in.std.start.posixCallMain
dc840 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
dc860 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(
dc880 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
dc8a0 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
dc8c0 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
dc8e0 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
dc900 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>.
dc920 3c 73 70 61 6e 20 63 6c 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="
dc940 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c t1_0">/home/andy/Downloads/zig/l
dc960 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 3c ib/std/start.zig:322:5</span>:.<
dc980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 32 32 20 69 6e 20 73 74 span.class="t2_0">0x205f22.in.st
dc9a0 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 70 d.start._start.(test)</span></sp
dc9c0 61 6e 3e 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 an>.<span.class="line">....@call
dc9e0 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 2c (.{..modifier.=..never_inline.},
dca00 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 70 .posixCallMainAndExit,..{});</sp
dca20 61 6e 3e 0a 3c 73 70 61 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
dca40 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>.<
dca60 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 69 span.class="line">(process.termi
dca80 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 3c nated.by.signal)</span>.</samp><
dcaa0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 /pre></figure>..............<h3.
dcac0 69 64 3d 22 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e id="Remainder-Division-by-Zero">
dcae0 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 <a.href="nav.xhtml#toc-Remainder
dcb00 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 -Division-by-Zero">Remainder.Div
dcb20 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ision.by.Zero</a>.<a.class="hdr"
dcb40 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 .href="#Remainder-Division-by-Ze
dcb60 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d ro">..</a></h3>........<p>At.com
dcb80 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 pile-time:</p>.......<figure><fi
dcba0 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
dcbc0 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
dcbe0 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="
dcc00 6c 69 6e 65 22 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
dcc20 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=
dcc40 22 6c 69 6e 65 22 3e 20 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">
dcc60 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.a:.<span.class="tok
dcc80 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">i32</span>.=.<span.class=
dcca0 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 6e 3e 0a 3c "tok-number">10</span>;</span>.<
dccc0 73 70 61 6e 20 63 6c 61 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
dcce0 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 61 6e s="tok-kw">const</span>.b:.<span
dcd00 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>.=.<
dcd20 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>
dcd40 3b 3c 2f 73 70 61 6e 3e 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">....
dcd60 3c 73 70 61 6e 20 63 6c 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
dcd80 3e 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.c.=.a.%.b;</span>.<span.class=
dcda0 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">...._.=.c;</span>.<span.c
dcdc0 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
dcde0 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
dce00 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
dce20 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">
dce40 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 2f $.<kbd>zig.test.test.zig</kbd></
dce60 73 70 61 6e 3e 0a 3c 73 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
dce80 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
dcea0 67 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 g:4:17:.</span><span.class="t31_
dcec0 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 30 1">error:.</span><span.class="t0
dcee0 5f 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 _1">division.by.zero</span></spa
dcf00 6e 3e 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 n>.<span.class="line">....const.
dcf20 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 6c c.=.a.%.b;</span>.<span.class="l
dcf40 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 73 ine">................<span.class
dcf60 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>
dcf80 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
dcfa0 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
dcfc0 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="
dcfe0 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
dd000 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">
dd020 3c 73 70 61 6e 20 63 6c 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
dd040 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
dd060 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
dd080 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>);<
dd0a0 2f 73 70 61 6e 3e 0a 3c 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
dd0c0 3e 0a 3c 73 70 61 6e 20 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
dd0e0 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
dd100 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=
dd120 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
dd140 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
dd160 6e 3e 0a 3c 73 70 61 6e 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.
dd180 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 class="tok-kw">var</span>.a:.<sp
dd1a0 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>.=
dd1c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 .<span.class="tok-number">10</sp
dd1e0 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">.
dd200 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
dd220 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 n>.b:.<span.class="tok-type">u32
dd240 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
dd260 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">0</span>;</span>.<span.class=
dd280 22 6c 69 6e 65 22 3e 20 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">
dd2a0 76 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 var</span>.c.=.a.%.b;</span>.<sp
dd2c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 an.class="line">....std.debug.pr
dd2e0 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;
dd300 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 63 7d 29 3b value:.{}\n&quot;</span>,..{c});
dd320 3c 2f 73 70 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
dd340 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
dd360 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
dd380 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
dd3a0 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-
dd3c0 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 20 exe.test.zig</kbd></span>.<span.
dd3e0 63 6c 61 73 73 3d 22 6c 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
dd400 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 61 ="line">$.<kbd>./test</kbd></spa
dd420 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 64 20 37 39 38 n>.<span.class="line">thread.798
dd440 31 34 32 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 142.panic:.remainder.division.by
dd460 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>.<
dd480 73 70 61 6e 20 63 6c 61 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
dd4a0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 1_0">/home/andy/Downloads/zig/do
dd4c0 63 67 65 6e 5f 74 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 cgen_tmp/test.zig:6:15</span>:.<
dd4e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 66 33 62 20 69 6e 20 6d 61 span.class="t2_0">0x22cf3b.in.ma
dd500 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
dd520 61 73 73 3d 22 6c 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 ass="line">....var.c.=.a.%.b;</s
dd540 70 61 6e 3e 0a 3c 73 70 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">........
dd560 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
dd580 6e 3e 3c 2f 73 70 61 6e 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
dd5a0 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
dd5c0 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 oads/zig/lib/std/start.zig:543:2
dd5e0 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
dd600 32 35 63 37 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 25c7c.in.std.start.callMain.(tes
dd620 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
dd640 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
dd660 61 6e 3e 0a 3c 73 70 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">.........
dd680 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">
dd6a0 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
dd6c0 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
dd6e0 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
dd700 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 5f :495:12</span>:.<span.class="t2_
dd720 30 22 3e 30 78 32 30 37 30 37 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 0">0x20707e.in.std.start.callMai
dd740 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 3c nWithArgs.(test)</span></span>.<
dd760 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 61 span.class="line">....return.@ca
dd780 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 65 ll(.{..modifier.=..always_inline
dd7a0 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 6e .},.callMain,..{});</span>.<span
dd7c0 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 63 .class="line">...........<span.c
dd7e0 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
dd800 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
dd820 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
dd840 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
dd860 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 31 36 20 69 6e 20 73 74 64 2e an.class="t2_0">0x206116.in.std.
dd880 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
dd8a0 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
dd8c0 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
dd8e0 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
dd900 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.
dd920 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">.
dd940 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_
dd960 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="
dd980 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
dd9a0 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e ndy/Downloads/zig/lib/std/start.
dd9c0 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 74 zig:322:5</span>:.<span.class="t
dd9e0 32 5f 30 22 3e 30 78 32 30 35 66 32 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 2_0">0x205f22.in.std.start._star
dda00 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
dda20 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 72 ss="line">....@call(.{..modifier
dda40 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 69 .=..never_inline.},.posixCallMai
dda60 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 61 nAndExit,..{});</span>.<span.cla
dda80 73 73 3d 22 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 ss="line">....<span.class="t32_1
ddaa0 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
ddac0 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 6e ine">(process.terminated.by.sign
ddae0 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 65 al)</span>.</samp></pre></figure
ddb00 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 69 76 >..............<h3.id="Exact-Div
ddb20 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 6e 61 76 2e 78 68 ision-Remainder"><a.href="nav.xh
ddb40 74 6d 6c 23 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 tml#toc-Exact-Division-Remainder
ddb60 22 3e 45 78 61 63 74 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 ">Exact.Division.Remainder</a>.<
ddb80 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 44 69 76 69 73 a.class="hdr".href="#Exact-Divis
ddba0 69 6f 6e 2d 52 65 6d 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 ion-Remainder">..</a></h3>......
ddbc0 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 ..<p>At.compile-time:</p>.......
ddbe0 3c 66 69 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
ddc00 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 3c ap"><cite.class="file">test.zig<
ddc20 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
ddc40 70 61 6e 20 63 6c 61 73 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
ddc60 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">comptime</span>.{</span>.<
ddc80 73 70 61 6e 20 63 6c 61 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
ddca0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e s="tok-kw">const</span>.a:.<span
ddcc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">u32</span>.=.<
ddce0 73 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
ddd00 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">...
ddd20 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
ddd40 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 n>.b:.<span.class="tok-type">u32
ddd60 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
ddd80 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">3</span>;</span>.<span.class=
ddda0 22 6c 69 6e 65 22 3e 20 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">
dddc0 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 6f const</span>.c.=.<span.class="to
ddde0 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 2c 20 62 k-builtin">@divExact</span>(a,.b
dde00 29 3b 3c 2f 73 70 61 6e 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">...
dde20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ._.=.c;</span>.<span.class="line
dde40 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>
dde60 3c 66 69 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
dde80 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
ddea0 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
ddec0 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
ddee0 6e 20 63 6c 61 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
ddf00 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 31 35 3a 20 3c 2f ">./docgen_tmp/test.zig:4:15:.</
ddf20 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:.
ddf40 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 61 63 74 20 </span><span.class="t0_1">exact.
ddf60 64 69 76 69 73 69 6f 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 division.had.a.remainder</span><
ddf80 2f 73 70 61 6e 3e 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
ddfa0 6e 73 74 20 63 20 3d 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 nst.c.=.@divExact(a,.b);</span>.
ddfc0 3c 73 70 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">.............
ddfe0 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
de000 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>.....
de020 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 75 ..<p>At.runtime:</p>.......<figu
de040 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"><
de060 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
de080 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
de0a0 6c 61 73 73 3d 22 6c 69 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"
de0c0 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=
de0e0 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
de100 61 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
de120 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="
de140 6c 69 6e 65 22 3e 3c 2f 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"
de160 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>
de180 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>.
de1a0 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>
de1c0 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</
de1e0 73 70 61 6e 3e 20 7b 3c 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
de200 22 3e 20 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</
de220 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.a:.<span.class="tok-type">
de240 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
de260 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">10</span>;</span>.<span.cl
de280 61 73 73 3d 22 6c 69 6e 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-
de2a0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">var</span>.b:.<span.class="t
de2c0 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
de2e0 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>.
de300 3c 73 70 61 6e 20 63 6c 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
de320 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e ss="tok-kw">var</span>.c.=.<span
de340 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 63 74 3c 2f .class="tok-builtin">@divExact</
de360 73 70 61 6e 3e 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>(a,.b);</span>.<span.class=
de380 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 6e "line">....std.debug.print(<span
de3a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d .class="tok-str">&quot;value:.{}
de3c0 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c \n&quot;</span>,..{c});</span>.<
de3e0 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
de400 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
de420 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
de440 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="
de460 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.
de480 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
de4a0 6e 65 22 3e 3c 2f 73 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">$
de4c0 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.
de4e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 38 32 30 32 20 70 61 6e 69 63 class="line">thread.798202.panic
de500 3a 20 65 78 61 63 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 :.exact.division.produced.remain
de520 64 65 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 73 der</span>.<span.class="line"><s
de540 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 44 6f 77 6e pan.class="t1_0">/home/andy/Down
de560 6c 6f 61 64 73 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 3a loads/zig/docgen_tmp/test.zig:6:
de580 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 30 22 3e 30 78 13</span>:.<span.class="t2_0">0x
de5a0 32 32 63 66 35 64 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 22cf5d.in.main.(test)</span></sp
de5c0 61 6e 3e 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 63 an>.<span.class="line">....var.c
de5e0 20 3d 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 .=.@divExact(a,.b);</span>.<span
de600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .class="line">............<span.
de620 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
de640 70 61 6e 20 63 6c 61 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
de660 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 _0">/home/andy/Downloads/zig/lib
de680 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:543:22</span>:.<s
de6a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 63 37 63 20 69 6e 20 73 74 64 pan.class="t2_0">0x225c7c.in.std
de6c0 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
de6e0 70 61 6e 3e 0a 3c 73 70 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">........
de700 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
de720 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">.....................
de740 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
de760 61 6e 3e 0a 3c 73 70 61 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
de780 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a ss="t1_0">/home/andy/Downloads/z
de7a0 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
de7c0 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 37 65 20 n>:.<span.class="t2_0">0x20707e.
de7e0 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
de800 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="
de820 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
de840 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
de860 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
de880 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"
de8a0 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
de8c0 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
de8e0 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 y/Downloads/zig/lib/std/start.zi
de900 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
de920 5f 30 22 3e 30 78 32 30 36 31 31 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 _0">0x206116.in.std.start.posixC
de940 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
de960 61 6e 3e 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
de980 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
de9a0 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,.
de9c0 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>.
de9e0 3c 73 70 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">.............
dea00 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><
dea20 2f 73 70 61 6e 3e 0a 3c 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.
dea40 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 class="t1_0">/home/andy/Download
dea60 73 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 73 s/zig/lib/std/start.zig:322:5</s
dea80 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 32 pan>:.<span.class="t2_0">0x205f2
deaa0 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 70 2.in.std.start._start.(test)</sp
deac0 61 6e 3e 3c 2f 73 70 61 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">..
deae0 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 6e ..@call(.{..modifier.=..never_in
deb00 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 7b line.},.posixCallMainAndExit,..{
deb20 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">..
deb40 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></
deb60 73 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 73 span>.<span.class="line">(proces
deb80 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 3c s.terminated.by.signal)</span>.<
deba0 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>...........
debc0 20 20 20 3c 68 33 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c ...<h3.id="Attempt-to-Unwrap-Nul
debe0 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 74 74 65 6d 70 l"><a.href="nav.xhtml#toc-Attemp
dec00 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 77 t-to-Unwrap-Null">Attempt.to.Unw
dec20 72 61 70 20 4e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 rap.Null</a>.<a.class="hdr".href
dec40 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 ="#Attempt-to-Unwrap-Null">..</a
dec60 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 ></h3>........<p>At.compile-time
dec80 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.
deca0 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
decc0 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><
dece0 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
ded00 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
ded20 3e 20 7b 3c 2f 73 70 61 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">..
ded40 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
ded60 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 6c 61 73 an>.optional_number:.?<span.clas
ded80 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.
deda0 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 73 class="tok-null">null</span>;</s
dedc0 70 61 6e 3e 0a 3c 73 70 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
dede0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 n.class="tok-kw">const</span>.nu
dee00 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 3e mber.=.optional_number.?;</span>
dee20 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 62 .<span.class="line">...._.=.numb
dee40 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 7d 3c er;</span>.<span.class="line">}<
dee60 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
dee80 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
deea0 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><
deec0 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
deee0 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 6c t.test.zig</kbd></span>.<span.cl
def00 61 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">./
def20 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 6e docgen_tmp/test.zig:3:35:.</span
def40 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
def60 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 75 6e 61 62 6c 65 20 74 6f 20 an><span.class="t0_1">unable.to.
def80 75 6e 77 72 61 70 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 unwrap.null</span></span>.<span.
defa0 63 6c 61 73 73 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 class="line">....const.number.=.
defc0 6f 70 74 69 6f 6e 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 optional_number.?;</span>.<span.
defe0 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">...................
df000 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_
df020 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>
df040 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f </figure>.......<p>At.runtime:</
df060 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
df080 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">
df0a0 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 65 test.zig</cite></figcaption><pre
df0c0 3e 3c 63 6f 64 65 3e 3c 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.
df0e0 63 6c 61 73 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.
df100 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
df120 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"
df140 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>
df160 0a 3c 73 70 61 6e 20 63 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
df180 6e 20 63 6c 61 73 73 3d 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-
df1a0 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-
df1c0 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
df1e0 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">main</span>().<span.class="to
df200 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
df220 61 6e 20 63 6c 61 73 73 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=
df240 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d "tok-kw">var</span>.optional_num
df260 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 69 33 32 ber:.?<span.class="tok-type">i32
df280 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"
df2a0 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >null</span>;</span>.<span.class
df2c0 3d 22 6c 69 6e 65 22 3e 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"
df2e0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 >var</span>.number.=.optional_nu
df300 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 22 6c 69 6e 65 mber.?;</span>.<span.class="line
df320 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 ">....std.debug.print(<span.clas
df340 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 s="tok-str">&quot;value:.{}\n&qu
df360 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 6e 3e 0a 3c ot;</span>,..{number});</span>.<
df380 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
df3a0 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
df3c0 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
df3e0 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="
df400 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.
df420 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
df440 6e 65 22 3e 3c 2f 73 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">$
df460 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.
df480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 38 32 36 32 20 70 61 6e 69 63 class="line">thread.798262.panic
df4a0 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 75 73 65 20 6e 75 6c 6c 20 76 61 6c 75 65 3c 2f 73 70 61 :.attempt.to.use.null.value</spa
df4c0 6e 3e 0a 3c 73 70 61 6e 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
df4e0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 s="t1_0">/home/andy/Downloads/zi
df500 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 33 33 3c 2f 73 70 61 6e g/docgen_tmp/test.zig:5:33</span
df520 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 63 66 30 63 20 69 >:.<span.class="t2_0">0x22cf0c.i
df540 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 3e 0a 3c 73 70 61 n.main.(test)</span></span>.<spa
df560 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 6e 75 6d 62 65 72 20 3d 20 n.class="line">....var.number.=.
df580 6f 70 74 69 6f 6e 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 optional_number.?;</span>.<span.
df5a0 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">...................
df5c0 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"
df5e0 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
df600 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
df620 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 y/Downloads/zig/lib/std/start.zi
df640 67 3a 35 34 33 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:543:22</span>:.<span.class="t2
df660 5f 30 22 3e 30 78 32 32 35 63 37 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x225c7c.in.std.start.callMa
df680 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
df6a0 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
df6c0 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">..
df6e0 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="
df700 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
df720 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
df740 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 me/andy/Downloads/zig/lib/std/st
df760 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 61 art.zig:495:12</span>:.<span.cla
df780 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 37 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e ss="t2_0">0x20707e.in.std.start.
df7a0 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 2f callMainWithArgs.(test)</span></
df7c0 73 70 61 6e 3e 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 span>.<span.class="line">....ret
df7e0 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 73 urn.@call(.{..modifier.=..always
df800 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 6e _inline.},.callMain,..{});</span
df820 3e 0a 3c 73 70 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">...........
df840 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
df860 61 6e 3e 0a 3c 73 70 61 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
df880 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a ss="t1_0">/home/andy/Downloads/z
df8a0 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
df8c0 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 31 36 20 n>:.<span.class="t2_0">0x206116.
df8e0 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
df900 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
df920 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(
df940 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.},
df960 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
df980 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="
df9a0 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
df9c0 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.
df9e0 63 6c 61 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">
dfa00 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 /home/andy/Downloads/zig/lib/std
dfa20 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
dfa40 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 32 32 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x205f22.in.std.star
dfa60 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
dfa80 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
dfaa0 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
dfac0 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
dfae0 70 61 6e 20 63 6c 61 73 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
dfb00 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
dfb20 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.
dfb40 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><
dfb60 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f /figure>.......<p>One.way.to.avo
dfb80 69 64 20 74 68 69 73 20 63 72 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 6e 75 6c id.this.crash.is.to.test.for.nul
dfba0 6c 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 l.instead.of.assuming.non-null,.
dfbc0 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 with.......the.<code><span.class
dfbe0 3d 22 6c 69 6e 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 ="line"><span.class="tok-kw">if<
dfc00 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 3a /span></span></code>.expression:
dfc20 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
dfc40 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
dfc60 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
dfc80 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
dfca0 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.pr
dfcc0 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e int.=.<span.class="tok-builtin">
dfce0 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-
dfd00 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 62 str">&quot;std&quot;</span>).deb
dfd20 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 69 ug.print;</span>.<span.class="li
dfd40 6e 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
dfd60 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
dfd80 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
dfda0 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
dfdc0 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
dfde0 69 6e 65 22 3e 20 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
dfe00 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 nst</span>.optional_number:.?<sp
dfe20 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>.=
dfe40 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
dfe60 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"><
dfe80 2f 73 70 61 6e 3e 0a 3c 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
dfea0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 pan.class="tok-kw">if</span>.(op
dfec0 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 3c 2f 73 70 61 6e 3e tional_number).|number|.{</span>
dfee0 0a 3c 73 70 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 .<span.class="line">........prin
dff00 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f t(<span.class="tok-str">&quot;go
dff20 74 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 6e t.number:.{}\n&quot;</span>,..{n
dff40 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 69 6e umber});</span>.<span.class="lin
dff60 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
dff80 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 se</span>.{</span>.<span.class="
dffa0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">........print(<span.class=
dffc0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 74 27 73 20 6e 75 6c 6c 5c 6e 26 71 75 6f 74 "tok-str">&quot;it's.null\n&quot
dffe0 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 61 ;</span>,..{});</span>.<span.cla
e0000 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
e0020 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><
e0040 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
e0060 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>
e0080 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">$.
e00a0 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
e00c0 3e 3c 2f 73 70 61 6e 3e 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
e00e0 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>./
e0100 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
e0120 69 6e 65 22 3e 69 74 27 73 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 ine">it's.null</span>.</samp></p
e0140 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c re></figure>.......<p>See.also:<
e0160 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 /p><ul>.<li><a.href="#Optionals"
e0180 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 >Optionals</a></li>.</ul>.......
e01a0 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 ........<h3.id="Attempt-to-Unwra
e01c0 70 2d 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d p-Error"><a.href="nav.xhtml#toc-
e01e0 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 74 74 65 6d 70 74 Attempt-to-Unwrap-Error">Attempt
e0200 20 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 .to.Unwrap.Error</a>.<a.class="h
e0220 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 dr".href="#Attempt-to-Unwrap-Err
e0240 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d or">..</a></h3>........<p>At.com
e0260 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 pile-time:</p>.......<figure><fi
e0280 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
e02a0 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
e02c0 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="
e02e0 6c 69 6e 65 22 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
e0300 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=
e0320 22 6c 69 6e 65 22 3e 20 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">
e0340 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f const</span>.number.=.getNumberO
e0360 72 46 61 69 6c 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 rFail().<span.class="tok-kw">cat
e0380 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 ch</span>.<span.class="tok-kw">u
e03a0 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nreachable</span>;</span>.<span.
e03c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 3c 2f 73 70 class="line">...._.=.number;</sp
e03e0 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>.
e0400 3c 73 70 61 6e 20 63 6c 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
e0420 20 63 6c 61 73 73 3d 22 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
e0440 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
e0460 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 29 20 21 3c 73 70 61 ">getNumberOrFail</span>().!<spa
e0480 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>.{<
e04a0 2f 73 70 61 6e 3e 0a 3c 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
e04c0 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>
e04e0 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
e0500 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 2f 73 70 61 6e 3e 0a n>.UnableToReturnNumber;</span>.
e0520 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
e0540 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
e0560 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
e0580 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=
e05a0 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<
e05c0 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">
e05e0 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/
e0600 74 65 73 74 2e 7a 69 67 3a 32 3a 33 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 test.zig:2:38:.</span><span.clas
e0620 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
e0640 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 75 67 68 74 20 75 6e 65 78 70 65 63 74 65 64 20 65 72 72 ass="t0_1">caught.unexpected.err
e0660 6f 72 20 27 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 27 3c 2f 73 70 61 6e 3e or.'UnableToReturnNumber'</span>
e0680 3c 2f 73 70 61 6e 3e 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
e06a0 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 onst.number.=.getNumberOrFail().
e06c0 63 61 74 63 68 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 catch.unreachable;</span>.<span.
e06e0 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">...................
e0700 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
e0720 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
e0740 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
e0760 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.
e0780 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
e07a0 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><
e07c0 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
e07e0 61 6e 20 63 6c 61 73 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
e0800 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">@
e0820 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
e0840 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
e0860 61 6e 3e 0a 3c 73 70 61 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>.<
e0880 73 70 61 6e 20 63 6c 61 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
e08a0 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
e08c0 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
e08e0 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=
e0900 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>.
e0920 3c 73 70 61 6e 20 63 6c 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
e0940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 ss="tok-kw">const</span>.number.
e0960 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 3d =.getNumberOrFail().<span.class=
e0980 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
e09a0 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>;</
e09c0 73 70 61 6e 3e 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
e09e0 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 74 .debug.print(<span.class="tok-st
e0a00 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e r">&quot;value:.{}\n&quot;</span
e0a20 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >,..{number});</span>.<span.clas
e0a40 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
e0a60 69 6e 65 22 3e 3c 2f 73 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">
e0a80 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>.<
e0aa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 span.class="tok-fn">getNumberOrF
e0ac0 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ail</span>().!<span.class="tok-t
e0ae0 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 6e 20 63 ype">i32</span>.{</span>.<span.c
e0b00 6c 61 73 73 3d 22 6c 69 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
e0b20 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="
e0b40 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 tok-kw">error</span>.UnableToRet
e0b60 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 73 3d 22 6c urnNumber;</span>.<span.class="l
e0b80 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
e0ba0 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
e0bc0 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>
e0be0 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>
e0c00 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
e0c20 61 6e 3e 0a 3c 73 70 61 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>.<
e0c40 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<
e0c60 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">
e0c80 74 68 72 65 61 64 20 37 39 38 33 35 39 20 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 thread.798359.panic:.attempt.to.
e0ca0 75 6e 77 72 61 70 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 unwrap.error:.UnableToReturnNumb
e0cc0 65 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 73 70 er</span>.<span.class="line"><sp
e0ce0 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
e0d00 6f 61 64 73 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 39 3a 35 oads/zig/docgen_tmp/test.zig:9:5
e0d20 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
e0d40 34 36 34 34 20 69 6e 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 20 28 74 65 73 74 29 3c 2f 4644.in.getNumberOrFail.(test)</
e0d60 73 70 61 6e 3e 3c 2f 73 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">
e0d80 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e ....return.error.UnableToReturnN
e0da0 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 umber;</span>.<span.class="line"
e0dc0 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
e0de0 3e 3c 2f 73 70 61 6e 3e 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
e0e00 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 3f 3f 3f 3a 3f 3a 3f 3c 2f 73 70 61 6e 3e 3a 20 3c n.class="t1_0">???:?:?</span>:.<
e0e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 63 65 37 32 20 69 6e 20 3f 3f span.class="t2_0">0x20ce72.in.??
e0e40 3f 20 28 3f 3f 3f 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 ?.(???)</span></span>.<span.clas
e0e60 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
e0e80 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f e/andy/Downloads/zig/docgen_tmp/
e0ea0 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 61 73 test.zig:4:38</span>:.<span.clas
e0ec0 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 66 36 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 s="t2_0">0x22cf6b.in.main.(test)
e0ee0 3c 2f 73 70 61 6e 3e 3c 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
e0f00 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 4f 72 ">....const.number.=.getNumberOr
e0f20 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 6e 3e Fail().catch.unreachable;</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 20 20 20 20 20 20 20 20 .<span.class="line">............
e0f60 20 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
e0f80 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
e0fa0 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
e0fc0 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
e0fe0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:543:22</span>:.<sp
e1000 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 63 39 63 20 69 6e 20 73 74 64 2e an.class="t2_0">0x225c9c.in.std.
e1020 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
e1040 61 6e 3e 0a 3c 73 70 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">.........
e1060 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
e1080 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">.....................<
e10a0 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
e10c0 6e 3e 0a 3c 73 70 61 6e 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
e10e0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 s="t1_0">/home/andy/Downloads/zi
e1100 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
e1120 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 39 65 20 69 >:.<span.class="t2_0">0x20709e.i
e1140 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
e1160 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
e1180 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
e11a0 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,
e11c0 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"
e11e0 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">
e1200 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
e1220 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
e1240 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
e1260 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 5f :409:17</span>:.<span.class="t2_
e1280 30 22 3e 30 78 32 30 36 31 33 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 0">0x206136.in.std.start.posixCa
e12a0 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 61 llMainAndExit.(test)</span></spa
e12c0 6e 3e 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 n>.<span.class="line">....std.os
e12e0 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 61 .exit(@call(.{..modifier.=..alwa
e1300 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 2e ys_inline.},.callMainWithArgs,..
e1320 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 3c {.argc,.argv,.envp.}));</span>.<
e1340 73 70 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">..............
e1360 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></
e1380 73 70 61 6e 3e 0a 3c 73 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
e13a0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 lass="t1_0">/home/andy/Downloads
e13c0 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 73 70 /zig/lib/std/start.zig:322:5</sp
e13e0 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 34 32 an>:.<span.class="t2_0">0x205f42
e1400 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 70 61 .in.std.start._start.(test)</spa
e1420 6e 3e 3c 2f 73 70 61 6e 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">...
e1440 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 6e 6c .@call(.{..modifier.=..never_inl
e1460 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 7b 7d ine.},.posixCallMainAndExit,..{}
e1480 29 3b 3c 2f 73 70 61 6e 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">...
e14a0 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
e14c0 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 73 73 pan>.<span.class="line">(process
e14e0 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 3c 2f .terminated.by.signal)</span>.</
e1500 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 4f 6e samp></pre></figure>.......<p>On
e1520 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 61 73 68 20 69 73 20 74 6f 20 e.way.to.avoid.this.crash.is.to.
e1540 74 65 73 74 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 73 test.for.an.error.instead.of.ass
e1560 75 6d 69 6e 67 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 73 75 6c 74 2c 20 77 69 74 68 0a uming.a.successful.result,.with.
e1580 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......the.<code><span.class="lin
e15a0 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 61 6e e"><span.class="tok-kw">if</span
e15c0 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 3c 2f 70 3e 0a ></span></code>.expression:</p>.
e15e0 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=
e1600 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
e1620 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
e1640 6f 64 65 3e 3c 73 70 61 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
e1660 73 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.=
e1680 20 3c 73 70 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
e16a0 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">
e16c0 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
e16e0 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"><
e1700 2f 73 70 61 6e 3e 0a 3c 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.
e1720 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.
e1740 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
e1760 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
e1780 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>.{
e17a0 3c 2f 73 70 61 6e 3e 0a 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">....<
e17c0 73 70 61 6e 20 63 6c 61 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>
e17e0 20 72 65 73 75 6c 74 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 3b 3c 2f 73 70 .result.=.getNumberOrFail();</sp
e1800 61 6e 3e 0a 3c 73 70 61 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>.<
e1820 73 70 61 6e 20 63 6c 61 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
e1840 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 72 65 73 75 6c 74 29 20 7c 6e s="tok-kw">if</span>.(result).|n
e1860 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 73 73 3d 22 6c 69 6e umber|.{</span>.<span.class="lin
e1880 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">........print(<span.class="to
e18a0 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 7b 7d 5c 6e 26 71 75 k-str">&quot;got.number:.{}\n&qu
e18c0 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 6e 3e 0a 3c ot;</span>,..{number});</span>.<
e18e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c span.class="line">....}.<span.cl
e1900 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b ass="tok-kw">else</span>.|err|.{
e1920 3c 2f 73 70 61 6e 3e 0a 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">.....
e1940 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
e1960 71 75 6f 74 3b 67 6f 74 20 65 72 72 6f 72 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 quot;got.error:.{s}\n&quot;</spa
e1980 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 3e n>,..{<span.class="tok-builtin">
e19a0 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 3c 2f 73 70 61 6e 3e @errorName</span>(err)});</span>
e19c0 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>
e19e0 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
e1a00 61 6e 20 63 6c 61 73 73 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
e1a20 61 73 73 3d 22 6c 69 6e 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">
e1a40 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 67 fn</span>.<span.class="tok-fn">g
e1a60 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 20 63 etNumberOrFail</span>().!<span.c
e1a80 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
e1aa0 61 6e 3e 0a 3c 73 70 61 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
e1ac0 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
e1ae0 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>.
e1b00 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 73 70 UnableToReturnNumber;</span>.<sp
e1b20 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><
e1b40 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
e1b60 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
e1b80 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
e1ba0 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 69 ne">$.<kbd>zig.build-exe.test.zi
e1bc0 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
e1be0 22 3e 3c 2f 73 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 "></span>.<span.class="line">$.<
e1c00 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 6c kbd>./test</kbd></span>.<span.cl
e1c20 61 73 73 3d 22 6c 69 6e 65 22 3e 67 6f 74 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 54 6f 52 65 ass="line">got.error:.UnableToRe
e1c40 74 75 72 6e 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c turnNumber</span>.</samp></pre><
e1c60 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><
e1c80 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 ul>.<li><a.href="#Errors">Errors
e1ca0 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
e1cc0 33 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 3.id="Invalid-Error-Code"><a.hre
e1ce0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 f="nav.xhtml#toc-Invalid-Error-C
e1d00 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 63 ode">Invalid.Error.Code</a>.<a.c
e1d20 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-
e1d40 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 63 Code">..</a></h3>........<p>At.c
e1d60 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ompile-time:</p>.......<figure><
e1d80 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
e1da0 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
e1dc0 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
e1de0 3d 22 6c 69 6e 65 22 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
e1e00 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
e1e20 73 3d 22 6c 69 6e 65 22 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
e1e40 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 73 ">const</span>.err.=.<span.class
e1e60 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 3c ="tok-kw">error</span>.AnError;<
e1e80 2f 73 70 61 6e 3e 0a 3c 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
e1ea0 70 61 6e 20 63 6c 61 73 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>.
e1ec0 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
e1ee0 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
e1f00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b an.class="tok-number">10</span>;
e1f20 3c 2f 73 70 61 6e 3e 0a 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">....<
e1f40 73 70 61 6e 20 63 6c 61 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>
e1f60 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .invalid_err.=.<span.class="tok-
e1f80 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 62 builtin">@intToError</span>(numb
e1fa0 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 20 er);</span>.<span.class="line">.
e1fc0 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 6e ..._.=.invalid_err;</span>.<span
e1fe0 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
e2000 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.
e2020 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
e2040 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
e2060 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>
e2080 3c 2f 73 70 61 6e 3e 0a 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
e20a0 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.
e20c0 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 33 zig:4:25:.</span><span.class="t3
e20e0 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="
e2100 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 74 t0_1">integer.value.11.represent
e2120 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 63 s.no.error</span></span>.<span.c
e2140 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 72 lass="line">....const.invalid_er
e2160 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 0a r.=.@intToError(number);</span>.
e2180 3c 73 70 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">.............
e21a0 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">^
e21c0 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
e21e0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 gure>.......<p>At.runtime:</p>..
e2200 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="
e2220 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
e2240 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
e2260 64 65 3e 3c 73 70 61 6e 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
e2280 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
e22a0 70 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<
e22c0 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
e22e0 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
e2300 61 6e 20 63 6c 61 73 73 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
e2320 61 73 73 3d 22 6c 69 6e 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">
e2340 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">
e2360 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
e2380 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
e23a0 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
e23c0 6c 61 73 73 3d 22 6c 69 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
e23e0 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 73 -kw">var</span>.err.=.<span.clas
e2400 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;
e2420 3c 2f 73 70 61 6e 3e 0a 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">....<
e2440 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
e2460 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 6e umber.=.<span.class="tok-builtin
e2480 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 61 ">@errorToInt</span>(err).+.<spa
e24a0 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 3b n.class="tok-number">500</span>;
e24c0 3c 2f 73 70 61 6e 3e 0a 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">....<
e24e0 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
e2500 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 75 nvalid_err.=.<span.class="tok-bu
e2520 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 72 iltin">@intToError</span>(number
e2540 29 3b 3c 2f 73 70 61 6e 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">...
e2560 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .std.debug.print(<span.class="to
e2580 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f k-str">&quot;value:.{}\n&quot;</
e25a0 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 3c span>,..{invalid_err});</span>.<
e25c0 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
e25e0 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
e2600 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
e2620 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="
e2640 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.
e2660 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
e2680 6e 65 22 3e 3c 2f 73 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">$
e26a0 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.
e26c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 38 34 35 35 20 70 61 6e 69 63 class="line">thread.798455.panic
e26e0 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 70 61 :.invalid.error.code</span>.<spa
e2700 6e 20 63 6c 61 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
e2720 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 ">/home/andy/Downloads/zig/docge
e2740 6e 5f 74 6d 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 n_tmp/test.zig:6:23</span>:.<spa
e2760 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 66 39 33 20 69 6e 20 6d 61 69 6e 20 n.class="t2_0">0x22cf93.in.main.
e2780 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
e27a0 3d 22 6c 69 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 ="line">....var.invalid_err.=.@i
e27c0 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 0a 3c 73 70 61 6e 20 ntToError(number);</span>.<span.
e27e0 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">...................
e2800 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><
e2820 2f 73 70 61 6e 3e 0a 3c 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.
e2840 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 class="t1_0">/home/andy/Download
e2860 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f s/zig/lib/std/start.zig:543:22</
e2880 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 35 63 span>:.<span.class="t2_0">0x225c
e28a0 63 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 cc.in.std.start.callMain.(test)<
e28c0 2f 73 70 61 6e 3e 3c 2f 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"
e28e0 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>
e2900 0a 3c 73 70 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">............
e2920 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">^</
e2940 73 70 61 6e 3e 3c 2f 73 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">
e2960 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 44 6f <span.class="t1_0">/home/andy/Do
e2980 77 6e 6c 6f 61 64 73 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 wnloads/zig/lib/std/start.zig:49
e29a0 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">
e29c0 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
e29e0 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
e2a00 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(
e2a20 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.},
e2a40 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
e2a60 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
e2a80 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.
e2aa0 63 6c 61 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">
e2ac0 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 /home/andy/Downloads/zig/lib/std
e2ae0 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 6e 20 /start.zig:409:17</span>:.<span.
e2b00 63 6c 61 73 73 3d 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 class="t2_0">0x206166.in.std.sta
e2b20 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 3c 2f rt.posixCallMainAndExit.(test)</
e2b40 73 70 61 6e 3e 3c 2f 73 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">
e2b60 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 66 69 ....std.os.exit(@call(.{..modifi
e2b80 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 57 er.=..always_inline.},.callMainW
e2ba0 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 29 29 ithArgs,..{.argc,.argv,.envp.}))
e2bc0 3b 3c 2f 73 70 61 6e 3e 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">....
e2be0 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">
e2c00 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
e2c20 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
e2c40 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 /Downloads/zig/lib/std/start.zig
e2c60 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
e2c80 22 3e 30 78 32 30 35 66 37 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x205f72.in.std.start._start.(
e2ca0 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=
e2cc0 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.=.
e2ce0 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
e2d00 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=
e2d20 22 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">^
e2d40 3c 2f 73 70 61 6e 3e 3c 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
e2d60 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)
e2d80 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>..
e2da0 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 45 6e 75 6d ............<h3.id="Invalid-Enum
e2dc0 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e -Cast"><a.href="nav.xhtml#toc-In
e2de0 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 6e 75 6d 20 43 61 valid-Enum-Cast">Invalid.Enum.Ca
e2e00 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 st</a>.<a.class="hdr".href="#Inv
e2e20 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 alid-Enum-Cast">..</a></h3>.....
e2e40 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 ...<p>At.compile-time:</p>......
e2e60 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-
e2e80 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
e2ea0 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><
e2ec0 73 70 61 6e 20 63 6c 61 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
e2ee0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.Foo.=.<span.
e2f00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 class="tok-kw">enum</span>.{</sp
e2f20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 2c 3c 2f 73 an>.<span.class="line">....a,</s
e2f40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2c 3c 2f pan>.<span.class="line">....b,</
e2f60 73 70 61 6e 3e 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 span>.<span.class="line">....c,<
e2f80 2f 73 70 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
e2fa0 61 6e 3e 0a 3c 73 70 61 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
e2fc0 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
e2fe0 70 61 6e 3e 0a 3c 73 70 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
e3000 6e 20 63 6c 61 73 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:
e3020 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e .<span.class="tok-type">u2</span
e3040 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f >.=.<span.class="tok-number">3</
e3060 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"
e3080 3e 20 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<
e30a0 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
e30c0 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);<
e30e0 2f 73 70 61 6e 3e 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">...._.
e3100 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">}
e3120 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
e3140 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
e3160 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>
e3180 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
e31a0 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
e31c0 6c 61 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">.
e31e0 2f 64 6f 63 67 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 /docgen_tmp/test.zig:8:15:.</spa
e3200 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
e3220 70 61 6e 3e 3c 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 pan><span.class="t0_1">enum.'Foo
e3240 27 20 68 61 73 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 '.has.no.tag.matching.integer.va
e3260 6c 75 65 20 33 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lue.3</span></span>.<span.class=
e3280 22 6c 69 6e 65 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 "line">....const.b.=.@intToEnum(
e32a0 46 6f 6f 2c 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 Foo,.a);</span>.<span.class="lin
e32c0 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 74 33 e">..............<span.class="t3
e32e0 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
e3300 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
e3320 67 65 6e 5f 74 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 gen_tmp/test.zig:1:13:.</span><s
e3340 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><
e3360 73 70 61 6e 20 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 span.class="t0_1">'Foo'.declared
e3380 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 3d .here</span></span>.<span.class=
e33a0 22 6c 69 6e 65 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 "line">const.Foo.=.enum.{</span>
e33c0 0a 3c 73 70 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">............
e33e0 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
e3400 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>......
e3420 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .<p>At.runtime:</p>.......<figur
e3440 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
e3460 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>
e3480 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
e34a0 61 73 73 3d 22 6c 69 6e 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">
e34c0 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="
e34e0 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
e3500 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
e3520 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
e3540 69 6e 65 22 3e 3c 2f 73 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">
e3560 3c 73 70 61 6e 20 63 6c 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
e3580 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 >.Foo.=.<span.class="tok-kw">enu
e35a0 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 6c m</span>.{</span>.<span.class="l
e35c0 69 6e 65 22 3e 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 ine">....a,</span>.<span.class="
e35e0 6c 69 6e 65 22 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 line">....b,</span>.<span.class=
e3600 22 6c 69 6e 65 22 3e 20 20 20 20 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....c,</span>.<span.class
e3620 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
e3640 69 6e 65 22 3e 3c 2f 73 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">
e3660 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>.
e3680 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>.<
e36a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">main</span>(
e36c0 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
e36e0 70 61 6e 3e 20 7b 3c 2f 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"
e3700 3e 20 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
e3720 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>.a:.<span.class="tok-type">u
e3740 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
e3760 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">3</span>;</span>.<span.class
e3780 3d 22 6c 69 6e 65 22 3e 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"
e37a0 3e 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 >var</span>.b.=.<span.class="tok
e37c0 2d 62 75 69 6c 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 -builtin">@intToEnum</span>(Foo,
e37e0 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">.
e3800 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="
e3820 74 6f 6b 2d 73 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 tok-str">&quot;value:.{s}\n&quot
e3840 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
e3860 6c 74 69 6e 22 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 ltin">@tagName</span>(b)});</spa
e3880 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></
e38a0 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
e38c0 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<
e38e0 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
e3900 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
e3920 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
e3940 3d 22 6c 69 6e 65 22 3e 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
e3960 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
e3980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 38 35 31 37 20 70 pan.class="line">thread.798517.p
e39a0 61 6e 69 63 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 anic:.invalid.enum.value</span>.
e39c0 3c 73 70 61 6e 20 63 6c 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="
e39e0 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 t1_0">/home/andy/Downloads/zig/d
e3a00 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 33 3c 2f 73 70 61 6e 3e 3a ocgen_tmp/test.zig:11:13</span>:
e3a20 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 66 38 39 20 69 6e 20 .<span.class="t2_0">0x22cf89.in.
e3a40 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 20 main.(test)</span></span>.<span.
e3a60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 62 20 3d 20 40 69 6e 74 54 6f 45 class="line">....var.b.=.@intToE
e3a80 6e 75 6d 28 46 6f 6f 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d num(Foo,.a);</span>.<span.class=
e3aa0 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="
e3ac0 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
e3ae0 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
e3b00 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 me/andy/Downloads/zig/lib/std/st
e3b20 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 art.zig:543:22</span>:.<span.cla
e3b40 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 63 65 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e ss="t2_0">0x225cec.in.std.start.
e3b60 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 73 callMain.(test)</span></span>.<s
e3b80 70 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 pan.class="line">............roo
e3ba0 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 69 t.main();</span>.<span.class="li
e3bc0 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 63 ne">.....................<span.c
e3be0 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
e3c00 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
e3c20 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
e3c40 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
e3c60 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.
e3c80 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
e3ca0 70 61 6e 3e 3c 2f 73 70 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">.
e3cc0 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.=..
e3ce0 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,..{});
e3d00 3c 2f 73 70 61 6e 3e 0a 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">.....
e3d20 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
e3d40 6e 3e 3c 2f 73 70 61 6e 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
e3d60 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
e3d80 6f 61 64 73 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 oads/zig/lib/std/start.zig:409:1
e3da0 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
e3dc0 30 36 31 38 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 06186.in.std.start.posixCallMain
e3de0 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
e3e00 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(
e3e20 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
e3e40 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
e3e60 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
e3e80 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
e3ea0 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>.
e3ec0 3c 73 70 61 6e 20 63 6c 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="
e3ee0 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c t1_0">/home/andy/Downloads/zig/l
e3f00 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 3c ib/std/start.zig:322:5</span>:.<
e3f20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 39 32 20 69 6e 20 73 74 span.class="t2_0">0x205f92.in.st
e3f40 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 70 d.start._start.(test)</span></sp
e3f60 61 6e 3e 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 an>.<span.class="line">....@call
e3f80 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 2c (.{..modifier.=..never_inline.},
e3fa0 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 70 .posixCallMainAndExit,..{});</sp
e3fc0 61 6e 3e 0a 3c 73 70 61 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
e3fe0 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>.<
e4000 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 69 span.class="line">(process.termi
e4020 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 3c nated.by.signal)</span>.</samp><
e4040 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
e4060 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 3c 61 20 .id="Invalid-Error-Set-Cast"><a.
e4080 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f href="nav.xhtml#toc-Invalid-Erro
e40a0 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 53 65 74 20 43 61 r-Set-Cast">Invalid.Error.Set.Ca
e40c0 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 st</a>.<a.class="hdr".href="#Inv
e40e0 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e alid-Error-Set-Cast">..</a></h3>
e4100 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a ........<p>At.compile-time:</p>.
e4120 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=
e4140 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
e4160 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
e4180 6f 64 65 3e 3c 73 70 61 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
e41a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 31 20 3d 20 ss="tok-kw">const</span>.Set1.=.
e41c0 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
e41e0 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >{</span>.<span.class="line">...
e4200 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .A,</span>.<span.class="line">..
e4220 20 20 42 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ..B,</span>.<span.class="line">}
e4240 3b 3c 2f 73 70 61 6e 3e 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
e4260 6e 20 63 6c 61 73 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
e4280 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c t2.=.<span.class="tok-kw">error<
e42a0 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
e42c0 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
e42e0 65 22 3e 20 20 20 20 43 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">....C,</span>.<span.class="li
e4300 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"
e4320 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</
e4340 73 70 61 6e 3e 20 7b 3c 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
e4360 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ">...._.=.<span.class="tok-built
e4380 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 53 65 74 in">@errSetCast</span>(Set2,.Set
e43a0 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 1.B);</span>.<span.class="line">
e43c0 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
e43e0 69 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
e4400 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
e4420 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
e4440 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.
e4460 63 6c 61 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">
e4480 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 39 3a 20 3c 2f 73 70 ./docgen_tmp/test.zig:10:9:.</sp
e44a0 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:.</
e44c0 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 72 72 6f 72 2e 42 20 span><span.class="t0_1">error.B.
e44e0 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 65 72 72 6f 72 20 73 65 74 20 27 53 65 74 32 27 not.a.member.of.error.set.'Set2'
e4500 3c 2f 73 70 61 6e 3e 3c 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
e4520 22 3e 20 20 20 20 5f 20 3d 20 40 65 72 72 53 65 74 43 61 73 74 28 53 65 74 32 2c 20 53 65 74 31 ">...._.=.@errSetCast(Set2,.Set1
e4540 2e 42 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .B);</span>.<span.class="line">.
e4560 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
e4580 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
e45a0 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 >.......<p>At.runtime:</p>......
e45c0 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-
e45e0 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
e4600 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><
e4620 73 70 61 6e 20 63 6c 61 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
e4640 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
e4660 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
e4680 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
e46a0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
e46c0 6c 61 73 73 3d 22 6c 69 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=
e46e0 22 6c 69 6e 65 22 3e 3c 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
e4700 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 3d 22 74 6f 6b t</span>.Set1.=.<span.class="tok
e4720 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 73 70 61 6e 20 -kw">error</span>{</span>.<span.
e4740 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 3c 73 70 61 6e class="line">....A,</span>.<span
e4760 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 0a 3c 73 70 61 .class="line">....B,</span>.<spa
e4780 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
e47a0 6c 61 73 73 3d 22 6c 69 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"
e47c0 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 63 6c 61 73 73 >const</span>.Set2.=.<span.class
e47e0 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>.<
e4800 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>.
e4820 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 73 70 61 6e 3e <span.class="line">....C,</span>
e4840 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
e4860 70 61 6e 20 63 6c 61 73 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
e4880 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
e48a0 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
e48c0 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="
e48e0 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>.<
e4900 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 53 65 74 31 2e 42 span.class="line">....foo(Set1.B
e4920 29 3b 3c 2f 73 70 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">}</
e4940 73 70 61 6e 3e 0a 3c 73 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
e4960 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
e4980 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 65 74 31 3a 20 53 65 ass="tok-fn">foo</span>(set1:.Se
e49a0 74 31 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c t1).<span.class="tok-type">void<
e49c0 2f 73 70 61 6e 3e 20 7b 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
e49e0 65 22 3e 20 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
e4a00 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 62 75 t</span>.x.=.<span.class="tok-bu
e4a20 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 53 65 74 32 2c 20 iltin">@errSetCast</span>(Set2,.
e4a40 73 65 74 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 set1);</span>.<span.class="line"
e4a60 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
e4a80 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
e4aa0 74 3b 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 t;</span>,..{x});</span>.<span.c
e4ac0 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
e4ae0 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
e4b00 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
e4b20 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">
e4b40 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
e4b60 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"></
e4b80 73 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>
e4ba0 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=
e4bc0 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 38 35 37 37 20 70 61 6e 69 63 3a 20 69 6e 76 61 "line">thread.798577.panic:.inva
e4be0 6c 69 64 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lid.error.code</span>.<span.clas
e4c00 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
e4c20 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f e/andy/Downloads/zig/docgen_tmp/
e4c40 74 65 73 74 2e 7a 69 67 3a 31 35 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 test.zig:15:15</span>:.<span.cla
e4c60 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 36 33 36 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 ss="t2_0">0x234636.in.foo.(test)
e4c80 3c 2f 73 70 61 6e 3e 3c 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
e4ca0 22 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 65 72 72 53 65 74 43 61 73 74 28 53 65 74 32 ">....const.x.=.@errSetCast(Set2
e4cc0 2c 20 73 65 74 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ,.set1);</span>.<span.class="lin
e4ce0 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 74 33 e">..............<span.class="t3
e4d00 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
e4d20 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
e4d40 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 /andy/Downloads/zig/docgen_tmp/t
e4d60 65 73 74 2e 7a 69 67 3a 31 32 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:12:8</span>:.<span.class
e4d80 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 66 35 64 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c ="t2_0">0x22cf5d.in.main.(test)<
e4da0 2f 73 70 61 6e 3e 3c 2f 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"
e4dc0 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 73 70 61 6e 20 63 >....foo(Set1.B);</span>.<span.c
e4de0 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 61 73 73 3d 22 lass="line">.......<span.class="
e4e00 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
e4e20 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
e4e40 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 me/andy/Downloads/zig/lib/std/st
e4e60 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 art.zig:543:22</span>:.<span.cla
e4e80 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 63 65 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e ss="t2_0">0x225cec.in.std.start.
e4ea0 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 73 callMain.(test)</span></span>.<s
e4ec0 70 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 pan.class="line">............roo
e4ee0 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 69 t.main();</span>.<span.class="li
e4f00 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 63 ne">.....................<span.c
e4f20 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
e4f40 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
e4f60 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 0">/home/andy/Downloads/zig/lib/
e4f80 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
e4fa0 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.
e4fc0 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
e4fe0 70 61 6e 3e 3c 2f 73 70 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">.
e5000 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.=..
e5020 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,..{});
e5040 3c 2f 73 70 61 6e 3e 0a 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">.....
e5060 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
e5080 6e 3e 3c 2f 73 70 61 6e 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
e50a0 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 44 6f 77 6e 6c an.class="t1_0">/home/andy/Downl
e50c0 6f 61 64 73 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 oads/zig/lib/std/start.zig:409:1
e50e0 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
e5100 30 36 31 38 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 06186.in.std.start.posixCallMain
e5120 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
e5140 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(
e5160 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
e5180 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
e51a0 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
e51c0 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
e51e0 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>.
e5200 3c 73 70 61 6e 20 63 6c 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="
e5220 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c t1_0">/home/andy/Downloads/zig/l
e5240 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 3c ib/std/start.zig:322:5</span>:.<
e5260 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 39 32 20 69 6e 20 73 74 span.class="t2_0">0x205f92.in.st
e5280 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 70 d.start._start.(test)</span></sp
e52a0 61 6e 3e 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 an>.<span.class="line">....@call
e52c0 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 2c (.{..modifier.=..never_inline.},
e52e0 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 70 .posixCallMainAndExit,..{});</sp
e5300 61 6e 3e 0a 3c 73 70 61 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
e5320 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>.<
e5340 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 69 span.class="line">(process.termi
e5360 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 3c nated.by.signal)</span>.</samp><
e5380 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
e53a0 20 69 64 3d 22 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 .id="Incorrect-Pointer-Alignment
e53c0 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 63 6f 72 72 65 "><a.href="nav.xhtml#toc-Incorre
e53e0 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.
e5400 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 Pointer.Alignment</a>.<a.class="
e5420 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c hdr".href="#Incorrect-Pointer-Al
e5440 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 ignment">..</a></h3>........<p>A
e5460 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 t.compile-time:</p>.......<figur
e5480 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
e54a0 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>
e54c0 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
e54e0 61 73 73 3d 22 6c 69 6e 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">
e5500 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 comptime</span>.{</span>.<span.c
e5520 6c 61 73 73 3d 22 6c 69 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
e5540 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 20 63 6c -kw">const</span>.ptr.=.<span.cl
e5560 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
e5580 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 69 67 6e 3c 2f n>(*<span.class="tok-kw">align</
e55a0 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
e55c0 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">
e55e0 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 6e 75 6d i32</span>,.<span.class="tok-num
e5600 62 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 ber">0x1</span>);</span>.<span.c
e5620 6c 61 73 73 3d 22 6c 69 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
e5640 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 65 64 20 3d 20 3c 73 70 61 -kw">const</span>.aligned.=.<spa
e5660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 n.class="tok-builtin">@alignCast
e5680 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 </span>(<span.class="tok-number"
e56a0 3e 34 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >4</span>,.ptr);</span>.<span.cl
e56c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 61 6c 69 67 6e 65 64 3b 3c 2f 73 70 61 ass="line">...._.=.aligned;</spa
e56e0 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></
e5700 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
e5720 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<
e5740 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
e5760 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 7a ss="line">$.<kbd>zig.test.test.z
e5780 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
e57a0 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
e57c0 6d 70 2f 74 65 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 mp/test.zig:3:35:.</span><span.c
e57e0 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
e5800 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 70 6f 69 6e 74 65 72 20 61 64 64 72 65 73 73 20 30 78 .class="t0_1">pointer.address.0x
e5820 31 20 69 73 20 6e 6f 74 20 61 6c 69 67 6e 65 64 20 74 6f 20 34 20 62 79 74 65 73 3c 2f 73 70 61 1.is.not.aligned.to.4.bytes</spa
e5840 6e 3e 3c 2f 73 70 61 6e 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">...
e5860 20 63 6f 6e 73 74 20 61 6c 69 67 6e 65 64 20 3d 20 40 61 6c 69 67 6e 43 61 73 74 28 34 2c 20 70 .const.aligned.=.@alignCast(4,.p
e5880 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 tr);</span>.<span.class="line">.
e58a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e58c0 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
e58e0 70 61 6e 3e 0a 3c 73 70 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
e5900 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
e5920 3a 33 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 :3:21:.</span><span.class="t36_1
e5940 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 31 ">note:.</span><span.class="t0_1
e5960 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ">referenced.here</span></span>.
e5980 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 61 6c 69 <span.class="line">....const.ali
e59a0 67 6e 65 64 20 3d 20 40 61 6c 69 67 6e 43 61 73 74 28 34 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e gned.=.@alignCast(4,.ptr);</span
e59c0 3e 0a 3c 73 70 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">...........
e59e0 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">^</
e5a00 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 75 span></span>.</samp></pre></figu
e5a20 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 20 re>.......<p>At.runtime:</p>....
e5a40 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
e5a60 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
e5a80 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
e5aa0 3e 3c 73 70 61 6e 20 63 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=
e5ac0 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
e5ae0 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
e5b00 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
e5b20 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>.<
e5b40 73 70 61 6e 20 63 6c 61 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
e5b60 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
e5b80 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
e5ba0 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 73 k-fn">main</span>().!<span.class
e5bc0 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>
e5be0 0a 3c 73 70 61 6e 20 63 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
e5c00 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 73 ass="tok-kw">var</span>.array.<s
e5c20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-kw">align</span>(
e5c40 3c 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
e5c60 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 75 >).=.[_]<span.class="tok-type">u
e5c80 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 62 32</span>{.<span.class="tok-numb
e5ca0 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 61 er">0x11111111</span>,.<span.cla
e5cc0 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 6e ss="tok-number">0x11111111</span
e5ce0 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">.
e5d00 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
e5d20 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 72 pan>.bytes.=.mem.sliceAsBytes(ar
e5d40 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 2f ray[<span.class="tok-number">0</
e5d60 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 6c span>..]);</span>.<span.class="l
e5d80 69 6e 65 22 3e 20 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
e5da0 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 61 </span>.(foo(bytes).!=.<span.cla
e5dc0 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 6e ss="tok-number">0x11111111</span
e5de0 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 2f >).<span.class="tok-kw">return</
e5e00 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
e5e20 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 73 </span>.Wrong;</span>.<span.clas
e5e40 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
e5e60 69 6e 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
e5e80 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
e5ea0 61 6e 3e 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 an>(bytes:.[]<span.class="tok-ty
e5ec0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u8</span>).<span.class="tok-
e5ee0 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.
e5f00 63 6c 61 73 73 3d 22 6c 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
e5f20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 k-kw">const</span>.slice4.=.byte
e5f40 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 s[<span.class="tok-number">1</sp
e5f60 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c an>..<span.class="tok-number">5<
e5f80 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>];</span>.<span.class="lin
e5fa0 65 22 3e 20 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
e5fc0 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 73 t</span>.int_slice.=.mem.bytesAs
e5fe0 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 32 Slice(<span.class="tok-type">u32
e6000 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 </span>,.<span.class="tok-builti
e6020 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
e6040 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 29 ="tok-number">4</span>,.slice4))
e6060 3b 3c 2f 73 70 61 6e 3e 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">....
e6080 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
e60a0 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 75 n>.int_slice[<span.class="tok-nu
e60c0 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
e60e0 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>
e6100 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
e6120 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
e6140 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">$
e6160 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
e6180 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
e61a0 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>.
e61c0 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="
e61e0 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 37 39 38 36 33 38 20 70 61 6e 69 63 3a 20 69 6e 63 6f 72 line">thread.798638.panic:.incor
e6200 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 61 73 rect.alignment</span>.<span.clas
e6220 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
e6240 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f e/andy/Downloads/zig/docgen_tmp/
e6260 74 65 73 74 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 test.zig:9:59</span>:.<span.clas
e6280 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 38 61 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c s="t2_0">0x2348ac.in.foo.(test)<
e62a0 2f 73 70 61 6e 3e 3c 2f 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"
e62c0 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 79 74 65 73 >....const.int_slice.=.mem.bytes
e62e0 41 73 53 6c 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 AsSlice(u32,.@alignCast(4,.slice
e6300 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 65 22 3e 20 4));</span>.<span.class="line">.
e6320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e6340 20 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
e6360 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
e6380 61 6e 20 63 6c 61 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 an.class="line"><span.class="t1_
e63a0 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 0">/home/andy/Downloads/zig/docg
e63c0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 en_tmp/test.zig:5:12</span>:.<sp
e63e0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 64 30 63 35 20 69 6e 20 6d 61 69 6e an.class="t2_0">0x22d0c5.in.main
e6400 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
e6420 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 66 6f 6f 28 62 79 74 65 73 29 20 21 3d 20 30 s="line">....if.(foo(bytes).!=.0
e6440 78 31 31 31 31 31 31 31 31 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 57 72 6f 6e 67 3b 3c 2f x11111111).return.error.Wrong;</
e6460 73 70 61 6e 3e 0a 3c 73 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">.......
e6480 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>
e64a0 3c 2f 73 70 61 6e 3e 0a 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
e64c0 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 44 6f 77 6e 6c 6f 61 .class="t1_0">/home/andy/Downloa
e64e0 64 73 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 33 3a 33 37 3c ds/zig/lib/std/start.zig:553:37<
e6500 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 35 /span>:.<span.class="t2_0">0x225
e6520 63 66 61 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 cfa.in.std.start.callMain.(test)
e6540 3c 2f 73 70 61 6e 3e 3c 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
e6560 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 6f 6f ">............const.result.=.roo
e6580 74 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 t.main().catch.|err|.{</span>.<s
e65a0 70 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">...............
e65c0 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
e65e0 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
e6600 6c 61 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">/
e6620 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f home/andy/Downloads/zig/lib/std/
e6640 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
e6660 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 63 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x2070ce.in.std.star
e6680 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>
e66a0 3c 2f 73 70 61 6e 3e 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
e66c0 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
e66e0 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
e6700 61 6e 3e 0a 3c 73 70 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">.........
e6720 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></
e6740 73 70 61 6e 3e 0a 3c 73 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
e6760 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 lass="t1_0">/home/andy/Downloads
e6780 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 37 3c 2f 73 /zig/lib/std/start.zig:409:17</s
e67a0 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 31 36 pan>:.<span.class="t2_0">0x20616
e67c0 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 41 6e 64 45 6.in.std.start.posixCallMainAndE
e67e0 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 61 6e 20 63 xit.(test)</span></span>.<span.c
e6800 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 40 63 61 6c lass="line">....std.os.exit(@cal
e6820 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 65 20 l(.{..modifier.=..always_inline.
e6840 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 2c 20 61 72 },.callMainWithArgs,..{.argc,.ar
e6860 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 6c 61 73 73 gv,.envp.}));</span>.<span.class
e6880 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ="line">................<span.cl
e68a0 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
e68c0 6e 20 63 6c 61 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
e68e0 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 ">/home/andy/Downloads/zig/lib/s
e6900 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
e6920 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 74 64 2e 73 74 .class="t2_0">0x205f72.in.std.st
e6940 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>.
e6960 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(.{.
e6980 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
e69a0 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>.
e69c0 3c 73 70 61 6e 20 63 6c 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
e69e0 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
e6a00 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 74 65 .class="line">(process.terminate
e6a20 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 72 65 d.by.signal)</span>.</samp></pre
e6a40 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ></figure>..............<h3.id="
e6a60 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 3c 61 20 68 72 65 Wrong-Union-Field-Access"><a.hre
e6a80 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 f="nav.xhtml#toc-Wrong-Union-Fie
e6aa0 6c 64 2d 41 63 63 65 73 73 22 3e 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 ld-Access">Wrong.Union.Field.Acc
e6ac0 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 ess</a>.<a.class="hdr".href="#Wr
e6ae0 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ong-Union-Field-Access">..</a></
e6b00 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f h3>........<p>At.compile-time:</
e6b20 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
e6b40 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">
e6b60 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 65 test.zig</cite></figcaption><pre
e6b80 3e 3c 63 6f 64 65 3e 3c 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.
e6ba0 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>.{
e6bc0 3c 2f 73 70 61 6e 3e 0a 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">....<
e6be0 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 66 span.class="tok-kw">var</span>.f
e6c00 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .=.Foo{..int.=.<span.class="tok-
e6c20 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 number">42</span>.};</span>.<spa
e6c40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 n.class="line">....f.float.=.<sp
e6c60 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
e6c80 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">}<
e6ca0 2f 73 70 61 6e 3e 0a 3c 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
e6cc0 3e 0a 3c 73 70 61 6e 20 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
e6ce0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 ="tok-kw">const</span>.Foo.=.<sp
e6d00 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 20 7b an.class="tok-kw">union</span>.{
e6d20 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....f
e6d40 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 loat:.<span.class="tok-type">f32
e6d60 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
e6d80 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 e">....int:.<span.class="tok-typ
e6da0 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 61 73 e">u32</span>,</span>.<span.clas
e6dc0 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c s="line">};</span></code></pre><
e6de0 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
e6e00 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>
e6e20 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">$.
e6e40 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 70 <kbd>zig.test.test.zig</kbd></sp
e6e60 61 6e 3e 0a 3c 73 70 61 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
e6e80 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:
e6ea0 33 3a 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 3:6:.</span><span.class="t31_1">
e6ec0 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"
e6ee0 3e 61 63 63 65 73 73 69 6e 67 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 >accessing.union.field.'float'.w
e6f00 68 69 6c 65 20 66 69 65 6c 64 20 27 69 6e 74 27 20 69 73 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f hile.field.'int'.is.set</span></
e6f20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 span>.<span.class="line">....f.f
e6f40 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 61 73 73 loat.=.12.34;</span>.<span.class
e6f60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 ="line">.....<span.class="t32_1"
e6f80 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></
e6fa0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e figure>.......<p>At.runtime:</p>
e6fc0 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
e6fe0 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
e7000 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><
e7020 63 6f 64 65 3e 3c 73 70 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
e7040 61 73 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.=.
e7060 3c 73 70 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
e7080 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">&
e70a0 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>.<
e70c0 73 70 61 6e 20 63 6c 61 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.
e70e0 63 6c 61 73 73 3d 22 6c 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
e7100 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
e7120 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-kw">union</span>.{</span>.
e7140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 <span.class="line">....float:.<s
e7160 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>,
e7180 3c 2f 73 70 61 6e 3e 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
e71a0 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 33 32 3c 2f nt:.<span.class="tok-type">u32</
e71c0 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"
e71e0 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"></
e7200 73 70 61 6e 3e 0a 3c 73 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
e7220 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
e7240 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
e7260 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e ass="tok-fn">main</span>().<span
e7280 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>.{<
e72a0 2f 73 70 61 6e 3e 0a 3c 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
e72c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 pan.class="tok-kw">var</span>.f.
e72e0 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e =.Foo{..int.=.<span.class="tok-n
e7300 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">42</span>.};</span>.<span
e7320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f .class="line">....bar(&amp;f);</
e7340 73 70 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
e7360 3e 0a 3c 73 70 61 6e 20 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
e7380 61 6e 20 63 6c 61 73 73 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
e73a0 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-
e73c0 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c fn">bar</span>(f:.*Foo).<span.cl
e73e0 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
e7400 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f an>.<span.class="line">....f.flo
e7420 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
e7440 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .34</span>;</span>.<span.class="
e7460 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.
e7480 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:.{}\
e74a0 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 3c 2f 73 70 n&quot;</span>,..{f.float});</sp
e74c0 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><
e74e0 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
e7500 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
e7520 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
e7540 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 65 20 ass="line">$.<kbd>zig.build-exe.
e7560 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 73 test.zig</kbd></span>.<span.clas
e7580 73 3d 22 6c 69 6e 65 22 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
e75a0 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 0a 3c ne">$.<kbd>./test</kbd></span>.<
e75c0 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 37 39 38 36 39 38 20 span.class="line">thread.798698.
e75e0 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 69 6f 6e 20 panic:.access.of.inactive.union.
e7600 66 69 65 6c 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 field</span>.<span.class="line">
e7620 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 44 6f <span.class="t1_0">/home/andy/Do
e7640 77 6e 6c 6f 61 64 73 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 wnloads/zig/docgen_tmp/test.zig:
e7660 31 34 3a 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 30 22 3e 14:6</span>:.<span.class="t2_0">
e7680 30 78 32 34 31 65 65 61 20 69 6e 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 0x241eea.in.bar.(test)</span></s
e76a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c pan>.<span.class="line">....f.fl
e76c0 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 61 73 73 3d oat.=.12.34;</span>.<span.class=
e76e0 22 6c 69 6e 65 22 3e 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 "line">.....<span.class="t32_1">
e7700 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
e7720 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
e7740 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a /Downloads/zig/docgen_tmp/test.z
e7760 69 67 3a 31 30 3a 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 ig:10:8</span>:.<span.class="t2_
e7780 30 22 3e 30 78 32 33 61 38 30 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 0">0x23a80c.in.main.(test)</span
e77a0 3e 3c 2f 73 70 61 6e 3e 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">....
e77c0 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d bar(&amp;f);</span>.<span.class=
e77e0 22 6c 69 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 "line">.......<span.class="t32_1
e7800 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
e7820 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
e7840 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a dy/Downloads/zig/lib/std/start.z
e7860 69 67 3a 35 34 33 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 ig:543:22</span>:.<span.class="t
e7880 32 5f 30 22 3e 30 78 32 33 33 35 38 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 2_0">0x23358c.in.std.start.callM
e78a0 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
e78c0 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 6d 61 69 lass="line">............root.mai
e78e0 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 22 3e 20 n();</span>.<span.class="line">.
e7900 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=
e7920 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
e7940 61 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
e7960 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 ome/andy/Downloads/zig/lib/std/s
e7980 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
e79a0 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 39 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x21498e.in.std.start
e79c0 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><
e79e0 2f 73 70 61 6e 3e 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
e7a00 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
e7a20 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
e7a40 6e 3e 0a 3c 73 70 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">..........
e7a60 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
e7a80 70 61 6e 3e 0a 3c 73 70 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
e7aa0 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f ass="t1_0">/home/andy/Downloads/
e7ac0 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
e7ae0 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 31 33 61 32 36 an>:.<span.class="t2_0">0x213a26
e7b00 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
e7b20 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
e7b40 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
e7b60 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.}
e7b80 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
e7ba0 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=
e7bc0 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
e7be0 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
e7c00 20 63 6c 61 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"
e7c20 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 >/home/andy/Downloads/zig/lib/st
e7c40 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.
e7c60 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 38 33 32 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x213832.in.std.sta
e7c80 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>.<
e7ca0 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(.{..
e7cc0 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
e7ce0 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>.<
e7d00 73 70 61 6e 20 63 6c 61 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
e7d20 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.
e7d40 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 74 65 64 class="line">(process.terminated
e7d60 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 72 65 3e .by.signal)</span>.</samp></pre>
e7d80 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 69 73 20 73 </figure>.......<p>.......This.s
e7da0 61 66 65 74 79 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 3c 63 6f 64 65 afety.is.not.available.for.<code
e7dc0 3e 3c 73 70 61 6e 20 63 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=
e7de0 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">extern</span></span></c
e7e00 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ode>.or.<code><span.class="line"
e7e20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 ><span.class="tok-kw">packed</sp
e7e40 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 20 20 20 an></span></code>.unions........
e7e60 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 63 68 61 6e 67 65 20 74 </p>.......<p>.......To.change.t
e7e80 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 6f 66 20 61 20 75 6e 69 6f 6e 2c 20 61 73 73 69 he.active.field.of.a.union,.assi
e7ea0 67 6e 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a gn.the.entire.union,.like.this:.
e7ec0 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
e7ee0 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
e7f00 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 74 ="file">test.zig</cite></figcapt
e7f20 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
e7f40 22 3e 3c 73 70 61 6e 20 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
e7f60 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
e7f80 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="
e7fa0 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>)
e7fc0 3b 3c 2f 73 70 61 6e 3e 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
e7fe0 61 6e 3e 0a 3c 73 70 61 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
e8000 73 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.=.<
e8020 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 3e span.class="tok-kw">union</span>
e8040 20 7b 3c 2f 73 70 61 6e 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">...
e8060 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 .float:.<span.class="tok-type">f
e8080 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
e80a0 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ine">....int:.<span.class="tok-t
e80c0 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
e80e0 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
e8100 3d 22 6c 69 6e 65 22 3e 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
e8120 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
e8140 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
e8160 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
e8180 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
e81a0 3c 2f 73 70 61 6e 3e 20 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
e81c0 6e 65 22 3e 20 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
e81e0 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c </span>.f.=.Foo{..int.=.<span.cl
e8200 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 ass="tok-number">42</span>.};</s
e8220 70 61 6e 3e 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 72 28 pan>.<span.class="line">....bar(
e8240 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e &amp;f);</span>.<span.class="lin
e8260 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"><
e8280 2f 73 70 61 6e 3e 0a 3c 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.
e82a0 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
e82c0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f lass="tok-fn">bar</span>(f:.*Foo
e82e0 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
e8300 70 61 6e 3e 20 7b 3c 2f 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"
e8320 3e 20 20 20 20 66 2e 2a 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 >....f.*.=.Foo{..float.=.<span.c
e8340 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d lass="tok-number">12.34</span>.}
e8360 3b 3c 2f 73 70 61 6e 3e 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">....
e8380 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
e83a0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 -str">&quot;value:.{}\n&quot;</s
e83c0 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>,..{f.float});</span>.<span.
e83e0 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
e8400 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
e8420 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
e8440 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"
e8460 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</
e8480 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"><
e84a0 2f 73 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
e84c0 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
e84e0 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
e8500 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>.....
e8520 20 20 3c 70 3e 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 ..<p>.......To.change.the.active
e8540 20 66 69 65 6c 64 20 6f 66 20 61 20 75 6e 69 6f 6e 20 77 68 65 6e 20 61 20 6d 65 61 6e 69 6e 67 .field.of.a.union.when.a.meaning
e8560 66 75 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 66 69 65 6c 64 20 69 73 20 6e 6f 74 20 6b ful.value.for.the.field.is.not.k
e8580 6e 6f 77 6e 2c 0a 20 20 20 20 20 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 nown,.......use.<a.href="#undefi
e85a0 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 ned">undefined</a>,.like.this:..
e85c0 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
e85e0 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=
e8600 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
e8620 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"
e8640 3e 3c 73 70 61 6e 20 63 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
e8660 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
e8680 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
e86a0 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>);
e86c0 3c 2f 73 70 61 6e 3e 0a 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
e86e0 6e 3e 0a 3c 73 70 61 6e 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
e8700 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
e8720 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 20 pan.class="tok-kw">union</span>.
e8740 7b 3c 2f 73 70 61 6e 3e 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">....
e8760 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 float:.<span.class="tok-type">f3
e8780 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
e87a0 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ne">....int:.<span.class="tok-ty
e87c0 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 61 pe">u32</span>,</span>.<span.cla
e87e0 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=
e8800 22 6c 69 6e 65 22 3e 3c 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
e8820 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
e8840 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>
e8860 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
e8880 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<
e88a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
e88c0 65 22 3e 20 20 20 20 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<
e88e0 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 /span>.f.=.Foo{..int.=.<span.cla
e8900 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 ss="tok-number">42</span>.};</sp
e8920 61 6e 3e 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 20 3d 20 46 an>.<span.class="line">....f.=.F
e8940 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 oo{..float.=.<span.class="tok-nu
e8960 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c ll">undefined</span>.};</span>.<
e8980 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 span.class="line">....bar(&amp;f
e89a0 29 3b 3c 2f 73 70 61 6e 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">...
e89c0 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .std.debug.print(<span.class="to
e89e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f k-str">&quot;value:.{}\n&quot;</
e8a00 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span>,..{f.float});</span>.<span
e8a20 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
e8a40 73 73 3d 22 6c 69 6e 65 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
e8a60 69 6e 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
e8a80 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
e8aa0 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
e8ac0 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
e8ae0 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.
e8b00 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>;
e8b20 3c 2f 73 70 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
e8b40 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
e8b60 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
e8b80 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
e8ba0 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-
e8bc0 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 20 exe.test.zig</kbd></span>.<span.
e8be0 63 6c 61 73 73 3d 22 6c 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
e8c00 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 61 ="line">$.<kbd>./test</kbd></spa
e8c20 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 20 31 2e 32 n>.<span.class="line">value:.1.2
e8c40 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 70 72 65 3e 3400001e+01</span>.</samp></pre>
e8c60 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>
e8c80 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 6e 3c <ul>.<li><a.href="#union">union<
e8ca0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e /a></li>.<li><a.href="#extern-un
e8cc0 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e ion">extern.union</a></li>.</ul>
e8ce0 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4f 75 74 2d 6f 66 2d 42 ................<h3.id="Out-of-B
e8d00 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 3c 61 20 ounds-Float-to-Integer-Cast"><a.
e8d20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 href="nav.xhtml#toc-Out-of-Bound
e8d40 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 4f 75 74 20 6f 66 20 s-Float-to-Integer-Cast">Out.of.
e8d60 42 6f 75 6e 64 73 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 65 67 65 72 20 43 61 73 74 3c 2f 61 3e Bounds.Float.to.Integer.Cast</a>
e8d80 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 75 74 2d 6f 66 2d 42 6f .<a.class="hdr".href="#Out-of-Bo
e8da0 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e c2 a7 3c 2f unds-Float-to-Integer-Cast">..</
e8dc0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3c 2f 70 3e 0a 20 20 20 20 20 a></h3>........<p>TODO</p>......
e8de0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e .........<h3.id="Pointer-Cast-In
e8e00 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 valid-Null"><a.href="nav.xhtml#t
e8e20 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
e8e40 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
e8e60 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
e8e80 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>........
e8ea0 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
e8ec0 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
e8ee0 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
e8f00 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
e8f20 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
e8f40 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
e8f60 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
e8f80 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<
e8fa0 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
e8fc0 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
e8fe0 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.......
e9000 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:<
e9020 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
e9040 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"
e9060 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
e9080 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
e90a0 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>.
e90c0 7b 3c 2f 73 70 61 6e 3e 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">....
e90e0 3c 73 70 61 6e 20 63 6c 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
e9100 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
e9120 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
e9140 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
e9160 6e 20 63 6c 61 73 73 3d 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="
e9180 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
e91a0 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
e91c0 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
e91e0 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.
e9200 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>
e9220 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
e9240 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
e9260 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
e9280 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
e92a0 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
e92c0 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"
e92e0 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
e9300 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
e9320 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
e9340 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.
e9360 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
e9380 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.=.
e93a0 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>.
e93c0 3c 73 70 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">.............
e93e0 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><
e9400 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>...
e9420 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
e9440 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"
e9460 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
e9480 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
e94a0 20 63 6c 61 73 73 3d 22 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
e94c0 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
e94e0 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
e9500 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
e9520 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
e9540 6e 20 63 6c 61 73 73 3d 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="
e9560 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
e9580 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>.
e95a0 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
e95c0 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">
e95e0 20 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
e9600 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
e9620 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
e9640 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)
e9660 3b 3c 2f 73 70 61 6e 3e 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">....
e9680 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
e96a0 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
e96c0 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
e96e0 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
e9700 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
e9720 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
e9740 3e 0a 3c 73 70 61 6e 20 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
e9760 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
e9780 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
e97a0 72 65 61 64 20 37 39 38 38 33 30 20 70 61 6e 69 63 3a 20 63 61 73 74 20 63 61 75 73 65 73 20 70 read.798830.panic:.cast.causes.p
e97c0 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 63 ointer.to.be.null</span>.<span.c
e97e0 6c 61 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">/
e9800 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 home/andy/Downloads/zig/docgen_t
e9820 6d 70 2f 74 65 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 mp/test.zig:3:15</span>:.<span.c
e9840 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 65 35 30 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x22ce50.in.main.(te
e9860 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
e9880 69 6e 65 22 3e 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 ine">....var.ptr.=.@ptrCast(*i32
e98a0 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 63 6c 61 73 73 3d 22 ,.opt_ptr);</span>.<span.class="
e98c0 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 63 6c 61 73 73 3d line">..............<span.class=
e98e0 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
e9900 61 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
e9920 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 ome/andy/Downloads/zig/lib/std/s
e9940 74 61 72 74 2e 7a 69 67 3a 35 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:543:22</span>:.<span.cl
e9960 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 62 62 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x225bbc.in.std.start
e9980 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>.<
e99a0 73 70 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
e99c0 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
e99e0 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.
e9a00 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
e9a20 70 61 6e 20 63 6c 61 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
e9a40 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f 6c 69 62 _0">/home/andy/Downloads/zig/lib
e9a60 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
e9a80 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 62 65 20 69 6e 20 73 74 64 pan.class="t2_0">0x206fbe.in.std
e9aa0 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)</
e9ac0 73 70 61 6e 3e 3c 2f 73 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">
e9ae0 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.=.
e9b00 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,..{})
e9b20 3b 3c 2f 73 70 61 6e 3e 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">....
e9b40 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
e9b60 61 6e 3e 3c 2f 73 70 61 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
e9b80 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 44 6f 77 6e pan.class="t1_0">/home/andy/Down
e9ba0 6c 6f 61 64 73 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 loads/zig/lib/std/start.zig:409:
e9bc0 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
e9be0 32 30 36 30 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 206056.in.std.start.posixCallMai
e9c00 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
e9c20 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
e9c40 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
e9c60 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
e9c80 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.
e9ca0 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
e9cc0 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>
e9ce0 0a 3c 73 70 61 6e 20 63 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=
e9d00 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 44 6f 77 6e 6c 6f 61 64 73 2f 7a 69 67 2f "t1_0">/home/andy/Downloads/zig/
e9d20 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>:.
e9d40 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 36 32 20 69 6e 20 73 <span.class="t2_0">0x205e62.in.s
e9d60 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
e9d80 70 61 6e 3e 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
e9da0 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.}
e9dc0 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
e9de0 70 61 6e 3e 0a 3c 73 70 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
e9e00 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>.
e9e20 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
e9e40 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>
e9e60 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 0a 20 </pre></figure>.................
e9e80 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 22 6e 61 .....<h2.id="Memory"><a.href="na
e9ea0 76 2e 78 68 74 6d 6c 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 v.xhtml#toc-Memory">Memory</a>.<
e9ec0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e c2 a7 3c a.class="hdr".href="#Memory">..<
e9ee0 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 5a 69 /a></h2>........<p>.......The.Zi
e9f00 67 20 6c 61 6e 67 75 61 67 65 20 70 65 72 66 6f 72 6d 73 20 6e 6f 20 6d 65 6d 6f 72 79 20 6d 61 g.language.performs.no.memory.ma
e9f20 6e 61 67 65 6d 65 6e 74 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 nagement.on.behalf.of.the.progra
e9f40 6d 6d 65 72 2e 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 77 68 79 20 5a 69 67 20 68 61 73 20 mmer..This.is.......why.Zig.has.
e9f60 6e 6f 20 72 75 6e 74 69 6d 65 2c 20 61 6e 64 20 77 68 79 20 5a 69 67 20 63 6f 64 65 20 77 6f 72 no.runtime,.and.why.Zig.code.wor
e9f80 6b 73 20 73 65 61 6d 6c 65 73 73 6c 79 20 69 6e 20 73 6f 20 6d 61 6e 79 20 65 6e 76 69 72 6f 6e ks.seamlessly.in.so.many.environ
e9fa0 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 72 65 61 6c 2d 74 69 6d 65 ments,.......including.real-time
e9fc0 20 73 6f 66 74 77 61 72 65 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6b 65 72 6e .software,.operating.system.kern
e9fe0 65 6c 73 2c 20 65 6d 62 65 64 64 65 64 20 64 65 76 69 63 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 els,.embedded.devices,.and......
ea000 20 6c 6f 77 20 6c 61 74 65 6e 63 79 20 73 65 72 76 65 72 73 2e 20 41 73 20 61 20 63 6f 6e 73 65 .low.latency.servers..As.a.conse
ea020 71 75 65 6e 63 65 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 75 73 74 20 61 6c 77 quence,.Zig.programmers.must.alw
ea040 61 79 73 20 62 65 20 61 62 6c 65 20 74 6f 20 61 6e 73 77 65 72 0a 20 20 20 20 20 20 74 68 65 20 ays.be.able.to.answer.......the.
ea060 71 75 65 73 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 61 question:.......</p>.......<p><a
ea080 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 65 .href="#Where-are-the-bytes">Whe
ea0a0 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 re.are.the.bytes?</a></p>.......
ea0c0 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 5a 69 67 2c 20 74 68 65 20 43 20 70 72 6f 67 72 61 <p>.......Like.Zig,.the.C.progra
ea0e0 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 68 61 73 20 6d 61 6e 75 61 6c 20 6d 65 6d 6f 72 79 mming.language.has.manual.memory
ea100 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 2c 20 75 6e 6c 69 6b 65 20 5a 69 67 .management..However,.unlike.Zig
ea120 2c 0a 20 20 20 20 20 20 43 20 68 61 73 20 61 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f ,.......C.has.a.default.allocato
ea140 72 20 2d 20 3c 63 6f 64 65 3e 6d 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 72 r.-.<code>malloc</code>,.<code>r
ea160 65 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 66 72 65 65 3c 2f 63 ealloc</code>,.and.<code>free</c
ea180 6f 64 65 3e 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 61 67 61 69 6e 73 74 ode>........When.linking.against
ea1a0 20 6c 69 62 63 2c 20 5a 69 67 20 65 78 70 6f 73 65 73 20 74 68 69 73 20 61 6c 6c 6f 63 61 74 6f .libc,.Zig.exposes.this.allocato
ea1c0 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e r.with.<code><span.class="line">
ea1e0 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 std.heap.c_allocator</span></cod
ea200 65 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e e>........However,.by.convention
ea220 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f 72 20 ,.there.is.no.default.allocator.
ea240 69 6e 20 5a 69 67 2e 20 49 6e 73 74 65 61 64 2c 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 in.Zig..Instead,.functions.which
ea260 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 20 61 63 63 65 70 74 20 61 .need.to.......allocate.accept.a
ea280 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 n.<code><span.class="line">Alloc
ea2a0 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 4c 69 ator</span></code>.parameter..Li
ea2c0 6b 65 77 69 73 65 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 75 63 68 20 61 73 0a kewise,.data.structures.such.as.
ea2e0 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 73 ......<code><span.class="line">s
ea300 74 64 2e 41 72 72 61 79 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 63 65 70 td.ArrayList</span></code>.accep
ea320 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c t.an.<code><span.class="line">Al
ea340 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 20 locator</span></code>.parameter.
ea360 69 6e 0a 20 20 20 20 20 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 75 in.......their.initialization.fu
ea380 6e 63 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 nctions:.......</p>.......<figur
ea3a0 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
ea3c0 69 74 65 20 63 6c 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 ite.class="file">allocator.zig</
ea3e0 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
ea400 61 6e 20 63 6c 61 73 73 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
ea420 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
ea440 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>
ea460 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
ea480 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
ea4a0 73 73 3d 22 6c 69 6e 65 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
ea4c0 6f 6e 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 onst</span>.Allocator.=.std.mem.
ea4e0 41 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 73 3d 22 6c Allocator;</span>.<span.class="l
ea500 69 6e 65 22 3e 3c 73 70 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<
ea520 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
ea540 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"></
ea560 73 70 61 6e 3e 0a 3c 73 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
ea580 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.
ea5a0 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 20 61 6e 20 61 class="tok-str">&quot;using.an.a
ea5c0 6c 6c 6f 63 61 74 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 llocator&quot;</span>.{</span>.<
ea5e0 73 70 61 6e 20 63 6c 61 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
ea600 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 66 65 72 3a 20 5b 3c s="tok-kw">var</span>.buffer:.[<
ea620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 span.class="tok-number">100</spa
ea640 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 n>]<span.class="tok-type">u8</sp
ea660 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 an>.=.<span.class="tok-null">und
ea680 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
ea6a0 73 3d 22 6c 69 6e 65 22 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
ea6c0 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 20 73 74 64 2e 68 ">const</span>.allocator.=.std.h
ea6e0 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 26 61 eap.FixedBufferAllocator.init(&a
ea700 6d 70 3b 62 75 66 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 mp;buffer).allocator();</span>.<
ea720 73 70 61 6e 20 63 6c 61 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
ea740 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 3d s="tok-kw">const</span>.result.=
ea760 20 3c 73 70 61 6e 20 63 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>
ea780 20 63 6f 6e 63 61 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 .concat(allocator,.<span.class="
ea7a0 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 2c tok-str">&quot;foo&quot;</span>,
ea7c0 20 3c 73 70 61 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 72 .<span.class="tok-str">&quot;bar
ea7e0 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
ea800 73 73 3d 22 6c 69 6e 65 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
ea820 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 65 71 6c w">try</span>.expect(std.mem.eql
ea840 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e (<span.class="tok-type">u8</span
ea860 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 66 >,.<span.class="tok-str">&quot;f
ea880 6f 6f 62 61 72 26 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 oobar&quot;</span>,.result));</s
ea8a0 70 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>
ea8c0 0a 3c 73 70 61 6e 20 63 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
ea8e0 6e 20 63 6c 61 73 73 3d 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-
ea900 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
ea920 6e 22 3e 63 6f 6e 63 61 74 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f n">concat</span>(allocator:.Allo
ea940 63 61 74 6f 72 2c 20 61 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 cator,.a:.[]<span.class="tok-kw"
ea960 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
ea980 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 ype">u8</span>,.b:.[]<span.class
ea9a0 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
ea9c0 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 73 70 61 ss="tok-type">u8</span>).![]<spa
ea9e0 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>.{</
eaa00 73 70 61 6e 3e 0a 3c 73 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
eaa20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 an.class="tok-kw">const</span>.r
eaa40 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 72 79 esult.=.<span.class="tok-kw">try
eaa60 3c 2f 73 70 61 6e 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 </span>.allocator.alloc(<span.cl
eaa80 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 2e 6c 65 6e 20 ass="tok-type">u8</span>,.a.len.
eaaa0 2b 20 62 2e 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 69 +.b.len);</span>.<span.class="li
eaac0 6e 65 22 3e 20 20 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 ne">....std.mem.copy(<span.class
eaae0 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 75 6c 74 2c 20 61 ="tok-type">u8</span>,.result,.a
eab00 29 3b 3c 2f 73 70 61 6e 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">...
eab20 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 74 .std.mem.copy(<span.class="tok-t
eab40 79 70 65 22 3e 75 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 ype">u8</span>,.result[a.len..],
eab60 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 20 .b);</span>.<span.class="line">.
eab80 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</
eaba0 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
eabc0 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
eabe0 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=
eac00 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
eac20 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
eac40 62 64 3e 7a 69 67 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 bd>zig.test.allocator.zig</kbd><
eac60 2f 73 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
eac80 73 74 20 26 71 75 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 st.&quot;using.an.allocator&quot
eaca0 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
eacc0 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
eace0 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>...
ead00 20 20 20 20 49 6e 20 74 68 65 20 61 62 6f 76 65 20 65 78 61 6d 70 6c 65 2c 20 31 30 30 20 62 79 ....In.the.above.example,.100.by
ead20 74 65 73 20 6f 66 20 73 74 61 63 6b 20 6d 65 6d 6f 72 79 20 61 72 65 20 75 73 65 64 20 74 6f 20 tes.of.stack.memory.are.used.to.
ead40 69 6e 69 74 69 61 6c 69 7a 65 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 initialize.a.......<code><span.c
ead60 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 61 74 6f 72 lass="line">FixedBufferAllocator
ead80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 70 61 </span></code>,.which.is.then.pa
eada0 73 73 65 64 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 41 73 20 61 20 63 ssed.to.a.function........As.a.c
eadc0 6f 6e 76 65 6e 69 65 6e 63 65 20 74 68 65 72 65 20 69 73 20 61 20 67 6c 6f 62 61 6c 20 3c 63 6f onvenience.there.is.a.global.<co
eade0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 78 65 64 42 75 66 66 65 de><span.class="line">FixedBuffe
eae00 72 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 20 20 20 20 61 rAllocator</span></code>.......a
eae20 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 71 75 69 63 6b 20 74 65 73 74 73 20 61 74 20 3c 63 6f 64 vailable.for.quick.tests.at.<cod
eae40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 e><span.class="line">std.testing
eae60 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 .allocator</span></code>,.......
eae80 77 68 69 63 68 20 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 which.will.also.do.perform.basic
eaea0 20 6c 65 61 6b 20 64 65 74 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .leak.detection........</p>.....
eaec0 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 ..<p>.......Zig.has.a.general.pu
eaee0 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 62 65 20 rpose.allocator.available.to.be.
eaf00 69 6d 70 6f 72 74 65 64 0a 20 20 20 20 20 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 imported.......with.<code><span.
eaf20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 class="line">std.heap.GeneralPur
eaf40 70 6f 73 65 41 6c 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 poseAllocator</span></code>..How
eaf60 65 76 65 72 2c 20 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 ever,.it.is.still.recommended.to
eaf80 0a 20 20 20 20 20 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 .......follow.the.<a.href="#Choo
eafa0 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 sing-an-Allocator">Choosing.an.A
eafc0 6c 6c 6f 63 61 74 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 llocator</a>.guide........</p>..
eafe0 20 20 20 20 20 20 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 ......<h3.id="Choosing-an-Alloca
eb000 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 68 6f 6f tor"><a.href="nav.xhtml#toc-Choo
eb020 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 sing-an-Allocator">Choosing.an.A
eb040 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 llocator</a>.<a.class="hdr".href
eb060 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e ="#Choosing-an-Allocator">..</a>
eb080 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 </h3>........<p>What.allocator.t
eb0a0 6f 20 75 73 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 63 o.use.depends.on.a.number.of.fac
eb0c0 74 6f 72 73 2e 20 48 65 72 65 20 69 73 20 61 20 66 6c 6f 77 20 63 68 61 72 74 20 74 6f 20 68 65 tors..Here.is.a.flow.chart.to.he
eb0e0 6c 70 20 79 6f 75 20 64 65 63 69 64 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 lp.you.decide:.......</p>.......
eb100 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 <ol>...........<li>.............
eb120 20 20 41 72 65 20 79 6f 75 20 6d 61 6b 69 6e 67 20 61 20 6c 69 62 72 61 72 79 3f 20 49 6e 20 74 ..Are.you.making.a.library?.In.t
eb140 68 69 73 20 63 61 73 65 2c 20 62 65 73 74 20 74 6f 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 his.case,.best.to.accept.an.<cod
eb160 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</
eb180 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 61 73 20 61 20 span></code>...............as.a.
eb1a0 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 61 6c 6c 6f 77 20 79 6f 75 72 20 6c 69 62 72 61 72 79 parameter.and.allow.your.library
eb1c0 27 73 20 75 73 65 72 73 20 74 6f 20 64 65 63 69 64 65 20 77 68 61 74 20 61 6c 6c 6f 63 61 74 6f 's.users.to.decide.what.allocato
eb1e0 72 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 r.to.use............</li>.......
eb200 20 20 20 20 3c 6c 69 3e 41 72 65 20 79 6f 75 20 6c 69 6e 6b 69 6e 67 20 6c 69 62 63 3f 20 49 6e ....<li>Are.you.linking.libc?.In
eb220 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .this.case,.<code><span.class="l
eb240 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e ine">std.heap.c_allocator</span>
eb260 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 69 6b 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 </code>.is.likely...............
eb280 74 68 65 20 72 69 67 68 74 20 63 68 6f 69 63 65 2c 20 61 74 20 6c 65 61 73 74 20 66 6f 72 20 79 the.right.choice,.at.least.for.y
eb2a0 6f 75 72 20 6d 61 69 6e 20 61 6c 6c 6f 63 61 74 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 our.main.allocator.</li>........
eb2c0 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 74 68 65 20 6d 61 78 ...<li>...............Is.the.max
eb2e0 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 79 6f 75 20 77 69 imum.number.of.bytes.that.you.wi
eb300 6c 6c 20 6e 65 65 64 20 62 6f 75 6e 64 65 64 20 62 79 20 61 20 6e 75 6d 62 65 72 20 6b 6e 6f 77 ll.need.bounded.by.a.number.know
eb320 6e 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d n.at...............<a.href="#com
eb340 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3f 20 49 6e 20 74 68 69 73 20 63 61 73 ptime">comptime</a>?.In.this.cas
eb360 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e,.use.<code><span.class="line">
eb380 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 std.heap.FixedBufferAllocator</s
eb3a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f pan></code>.or...............<co
eb3c0 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 54 de><span.class="line">std.heap.T
eb3e0 68 72 65 61 64 53 61 66 65 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 hreadSafeFixedBufferAllocator</s
eb400 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 pan></code>.depending.on.whether
eb420 20 79 6f 75 20 6e 65 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 2d 73 .you.need...............thread-s
eb440 61 66 65 74 79 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 afety.or.not............</li>...
eb460 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 49 73 20 79 6f ........<li>...............Is.yo
eb480 75 72 20 70 72 6f 67 72 61 6d 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 70 70 6c 69 63 ur.program.a.command.line.applic
eb4a0 61 74 69 6f 6e 20 77 68 69 63 68 20 72 75 6e 73 20 66 72 6f 6d 20 73 74 61 72 74 20 74 6f 20 65 ation.which.runs.from.start.to.e
eb4c0 6e 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 66 75 6e 64 61 6d 65 6e 74 61 6c 0a 20 20 20 20 20 nd.without.any.fundamental......
eb4e0 20 20 20 20 20 20 20 20 20 63 79 63 6c 69 63 61 6c 20 70 61 74 74 65 72 6e 20 28 73 75 63 68 20 .........cyclical.pattern.(such.
eb500 61 73 20 61 20 76 69 64 65 6f 20 67 61 6d 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 as.a.video.game.main.loop,.or.a.
eb520 77 65 62 20 73 65 72 76 65 72 20 72 65 71 75 65 73 74 20 68 61 6e 64 6c 65 72 29 2c 0a 20 20 20 web.server.request.handler),....
eb540 20 20 20 20 20 20 20 20 20 20 20 73 75 63 68 20 74 68 61 74 20 69 74 20 77 6f 75 6c 64 20 6d 61 ...........such.that.it.would.ma
eb560 6b 65 20 73 65 6e 73 65 20 74 6f 20 66 72 65 65 20 65 76 65 72 79 74 68 69 6e 67 20 61 74 20 6f ke.sense.to.free.everything.at.o
eb580 6e 63 65 20 61 74 20 74 68 65 20 65 6e 64 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e nce.at.the.end?...............In
eb5a0 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f .this.case,.it.is.recommended.to
eb5c0 20 66 6f 6c 6c 6f 77 20 74 68 69 73 20 70 61 74 74 65 72 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 .follow.this.pattern:...........
eb5e0 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
eb600 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 6c 69 5f 61 ig-cap"><cite.class="file">cli_a
eb620 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e llocation.zig</cite></figcaption
eb640 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"><
eb660 73 70 61 6e 20 63 6c 61 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>
eb680 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"
eb6a0 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
eb6c0 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>);</
eb6e0 73 70 61 6e 3e 0a 3c 73 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>
eb700 0a 3c 73 70 61 6e 20 63 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=
eb720 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=
eb740 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="
eb760 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
eb780 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
eb7a0 6e 3e 0a 3c 73 70 61 6e 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.
eb7c0 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 65 6e 61 20 class="tok-kw">var</span>.arena.
eb7e0 3d 20 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 73 =.std.heap.ArenaAllocator.init(s
eb800 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a td.heap.page_allocator);</span>.
eb820 3c 73 70 61 6e 20 63 6c 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
eb840 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 61 72 65 6e 61 2e 64 ss="tok-kw">defer</span>.arena.d
eb860 65 69 6e 69 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e einit();</span>.<span.class="lin
eb880 65 22 3e 3c 2f 73 70 61 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">..
eb8a0 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
eb8c0 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 61 72 65 6e 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 an>.allocator.=.arena.allocator(
eb8e0 29 3b 3c 2f 73 70 61 6e 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
eb900 70 61 6e 3e 0a 3c 73 70 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
eb920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 n.class="tok-kw">const</span>.pt
eb940 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 74 72 79 3c 2f 73 70 r.=.<span.class="tok-kw">try</sp
eb960 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 an>.allocator.create(<span.class
eb980 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-type">i32</span>);</span>.
eb9a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 <span.class="line">....std.debug
eb9c0 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .print(<span.class="tok-str">&qu
eb9e0 6f 74 3b 70 74 72 3d 7b 2a 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 70 74 72 ot;ptr={*}\n&quot;</span>,..{ptr
eba00 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c });</span>.<span.class="line">}<
eba20 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
eba40 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
eba60 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><
eba80 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
ebaa0 6c 64 2d 65 78 65 20 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c ld-exe.cli_allocation.zig</kbd><
ebac0 2f 73 70 61 6e 3e 0a 3c 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
ebae0 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 63 6c >.<span.class="line">$.<kbd>./cl
ebb00 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 i_allocation</kbd></span>.<span.
ebb20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3d 69 33 32 40 37 66 63 37 35 64 66 36 65 30 31 class="line">ptr=i32@7fc75df6e01
ebb40 38 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 8</span>.</samp></pre></figure>.
ebb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6b 69 ..............When.using.this.ki
ebb80 6e 64 20 6f 66 20 61 6c 6c 6f 63 61 74 6f 72 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 nd.of.allocator,.there.is.no.nee
ebba0 64 20 74 6f 20 66 72 65 65 20 61 6e 79 74 68 69 6e 67 20 6d 61 6e 75 61 6c 6c 79 2e 20 45 76 65 d.to.free.anything.manually..Eve
ebbc0 72 79 74 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 rything...............gets.freed
ebbe0 20 61 74 20 6f 6e 63 65 20 77 69 74 68 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e .at.once.with.the.call.to.<code>
ebc00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 <span.class="line">arena.deinit(
ebc20 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e )</span></code>............</li>
ebc40 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 ...........<li>...............Ar
ebc60 65 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 70 61 72 74 20 6f 66 20 61 20 63 79 63 6c e.the.allocations.part.of.a.cycl
ebc80 69 63 61 6c 20 70 61 74 74 65 72 6e 20 73 75 63 68 20 61 73 20 61 20 76 69 64 65 6f 20 67 61 6d ical.pattern.such.as.a.video.gam
ebca0 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 77 65 62 0a 20 20 20 20 20 20 20 20 20 20 e.main.loop,.or.a.web...........
ebcc0 20 20 20 20 73 65 72 76 65 72 20 72 65 71 75 65 73 74 20 68 61 6e 64 6c 65 72 3f 20 49 66 20 74 ....server.request.handler?.If.t
ebce0 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 63 61 6e 20 61 6c 6c 20 62 65 20 66 72 65 65 64 20 he.allocations.can.all.be.freed.
ebd00 61 74 20 6f 6e 63 65 2c 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 79 63 6c 65 at.once,.at.the.end.of.the.cycle
ebd20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 6f 6e 63 65 ,...............for.example.once
ebd40 20 74 68 65 20 76 69 64 65 6f 20 67 61 6d 65 20 66 72 61 6d 65 20 68 61 73 20 62 65 65 6e 20 66 .the.video.game.frame.has.been.f
ebd60 75 6c 6c 79 20 72 65 6e 64 65 72 65 64 2c 20 6f 72 20 74 68 65 20 77 65 62 20 73 65 72 76 65 72 ully.rendered,.or.the.web.server
ebd80 20 72 65 71 75 65 73 74 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 65 6e 20 .request.has...............been.
ebda0 73 65 72 76 65 64 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 served,.then.<code><span.class="
ebdc0 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 line">std.heap.ArenaAllocator</s
ebde0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 67 72 65 61 74 20 63 61 6e 64 69 64 61 74 65 pan></code>.is.a.great.candidate
ebe00 2e 20 41 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 ..As...............demonstrated.
ebe20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 62 75 6c 6c 65 74 20 70 6f 69 6e 74 2c 20 74 68 in.the.previous.bullet.point,.th
ebe40 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 66 72 65 65 20 65 6e 74 69 72 65 20 61 72 65 is.allows.you.to.free.entire.are
ebe60 6e 61 73 20 61 74 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 nas.at.once................Note.
ebe80 61 6c 73 6f 20 74 68 61 74 20 69 66 20 61 6e 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6d also.that.if.an.upper.bound.of.m
ebea0 65 6d 6f 72 79 20 63 61 6e 20 62 65 20 65 73 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 6e 0a 20 emory.can.be.established,.then..
ebec0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
ebee0 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 line">std.heap.FixedBufferAlloca
ebf00 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 tor</span></code>.can.be.used.as
ebf20 20 61 20 66 75 72 74 68 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 .a.further.optimization.........
ebf40 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>.........
ebf60 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 77 72 69 74 69 6e 67 20 61 20 74 65 73 74 2c 20 61 6e ......Are.you.writing.a.test,.an
ebf80 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 3c 63 6f 64 65 3e 3c 73 d.you.want.to.make.sure.<code><s
ebfa0 70 61 6e 20 63 6c 61 73 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
ebfc0 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f k-kw">error</span>.OutOfMemory</
ebfe0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 68 61 span></code>...............is.ha
ec000 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c 79 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 ndled.correctly?.In.this.case,.u
ec020 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e se.<code><span.class="line">std.
ec040 74 65 73 74 69 6e 67 2e 46 61 69 6c 69 6e 67 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c testing.FailingAllocator</span><
ec060 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 /code>............</li>.........
ec080 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 77 72 69 ..<li>...............Are.you.wri
ec0a0 74 69 6e 67 20 61 20 74 65 73 74 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c ting.a.test?.In.this.case,.use.<
ec0c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 code><span.class="line">std.test
ec0e0 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 ing.allocator</span></code>.....
ec100 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 .......</li>...........<li>.....
ec120 20 20 20 20 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 ..........Finally,.if.none.of.th
ec140 65 20 61 62 6f 76 65 20 61 70 70 6c 79 2c 20 79 6f 75 20 6e 65 65 64 20 61 20 67 65 6e 65 72 61 e.above.apply,.you.need.a.genera
ec160 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 l.purpose.allocator.............
ec180 20 20 20 5a 69 67 27 73 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 ...Zig's.general.purpose.allocat
ec1a0 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 or.is.available.as.a.function.th
ec1c0 61 74 20 74 61 6b 65 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 at.takes.a.<a.href="#comptime">c
ec1e0 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 omptime</a>...............<a.hre
ec200 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 6f 66 20 63 6f 6e 66 69 67 f="#struct">struct</a>.of.config
ec220 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 79 uration.options.and.returns.a.ty
ec240 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 pe................Generally,.you
ec260 20 77 69 6c 6c 20 73 65 74 20 75 70 20 6f 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .will.set.up.one.<code><span.cla
ec280 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 ss="line">std.heap.GeneralPurpos
ec2a0 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 eAllocator</span></code>.in.....
ec2c0 20 20 20 20 20 20 20 20 20 20 79 6f 75 72 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e ..........your.main.function,.an
ec2e0 64 20 74 68 65 6e 20 70 61 73 73 20 69 74 20 6f 72 20 73 75 62 2d 61 6c 6c 6f 63 61 74 6f 72 73 d.then.pass.it.or.sub-allocators
ec300 20 61 72 6f 75 6e 64 20 74 6f 20 76 61 72 69 6f 75 73 20 70 61 72 74 73 20 6f 66 20 79 6f 75 72 .around.to.various.parts.of.your
ec320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 ...............application......
ec340 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 ......</li>...........<li>......
ec360 20 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 3c .........You.can.also.consider.<
ec380 61 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 a.href="#Implementing-an-Allocat
ec3a0 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 or">Implementing.an.Allocator</a
ec3c0 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 6f 6c 3e 0a 20 >............</li>.......</ol>..
ec3e0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 65 72 65 2d 61 72 65 2d 74 .............<h3.id="Where-are-t
ec400 68 65 2d 62 79 74 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 he-bytes"><a.href="nav.xhtml#toc
ec420 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 20 -Where-are-the-bytes">Where.are.
ec440 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 the.bytes?</a>.<a.class="hdr".hr
ec460 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e c2 a7 3c 2f 61 3e ef="#Where-are-the-bytes">..</a>
ec480 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 </h3>........<p>String.literals.
ec4a0 73 75 63 68 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 such.as.<code><span.class="line"
ec4c0 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 66 6f 6f ><span.class="tok-str">&quot;foo
ec4e0 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 61 72 65 20 &quot;</span></span></code>.are.
ec500 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 74 in.the.global.constant.data.sect
ec520 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 77 68 79 20 69 74 20 69 73 20 61 6e 20 ion........This.is.why.it.is.an.
ec540 65 72 72 6f 72 20 74 6f 20 70 61 73 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 error.to.pass.a.string.literal.t
ec560 6f 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 o.a.mutable.slice,.like.this:...
ec580 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
ec5a0 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="
ec5c0 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
ec5e0 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">
ec600 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>.<
ec620 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 73 span.class="tok-fn">foo</span>(s
ec640 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 73 :.[]<span.class="tok-type">u8</s
ec660 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 pan>).<span.class="tok-type">voi
ec680 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
ec6a0 69 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 ine">...._.=.s;</span>.<span.cla
ec6c0 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="
ec6e0 6c 69 6e 65 22 3e 3c 2f 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"
ec700 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
ec720 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >.<span.class="tok-str">&quot;st
ec740 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 26 71 75 ring.literal.to.mutable.slice&qu
ec760 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=
ec780 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-
ec7a0 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>);<
ec7c0 2f 73 70 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
ec7e0 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>
ec800 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
ec820 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
ec840 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
ec860 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=
ec880 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
ec8a0 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 61 6e 3e 3c 73 70 61 en_tmp/test.zig:6:9:.</span><spa
ec8c0 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 73 n.class="t31_1">error:.</span><s
ec8e0 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 20 74 79 70 65 20 27 pan.class="t0_1">expected.type.'
ec900 5b 5d 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 27 3c 2f 73 []u8',.found.'*const.[5:0]u8'</s
ec920 70 61 6e 3e 3c 2f 73 70 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">.
ec940 20 20 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e ...foo(&quot;hello&quot;);</span
ec960 3e 0a 3c 73 70 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
ec980 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>
ec9a0 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
ec9c0 3e 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 6d 61 6b 65 20 74 68 65 20 73 6c 69 63 65 20 63 >However.if.you.make.the.slice.c
ec9e0 6f 6e 73 74 61 6e 74 2c 20 74 68 65 6e 20 69 74 20 77 6f 72 6b 73 3a 3c 2f 70 3e 0a 20 20 20 20 onstant,.then.it.works:</p>.....
eca00 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
eca20 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 6c 69 74 2e -cap"><cite.class="file">strlit.
eca40 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
eca60 65 3e 3c 73 70 61 6e 20 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
eca80 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=
ecaa0 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 "tok-fn">foo</span>(s:.[]<span.c
ecac0 6c 61 73 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
ecae0 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
ecb00 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>.
ecb20 7b 3c 2f 73 70 61 6e 3e 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">....
ecb40 5f 20 3d 20 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _.=.s;</span>.<span.class="line"
ecb60 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
ecb80 70 61 6e 3e 0a 3c 73 70 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
ecba0 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
ecbc0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 lass="tok-str">&quot;string.lite
ecbe0 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 ral.to.constant.slice&quot;</spa
ecc00 6e 3e 20 7b 3c 2f 73 70 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">.
ecc20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 ...foo(<span.class="tok-str">&qu
ecc40 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ot;hello&quot;</span>);</span>.<
ecc60 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
ecc80 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
ecca0 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
eccc0 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="
ecce0 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 6c 69 74 2e 7a 69 67 line">$.<kbd>zig.test.strlit.zig
ecd00 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"
ecd20 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 >1/1.test.&quot;string.literal.t
ecd40 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 o.constant.slice&quot;....OK</sp
ecd60 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
ecd80 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><
ecda0 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 4a 75 73 74 20 6c 69 /figure>.......<p>.......Just.li
ecdc0 6b 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ke.string.literals,.<code><span.
ecde0 63 6c 61 73 73 3d 22 6c 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
ece00 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 ">const</span></span></code>.dec
ece20 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f larations,.when.the.value.is.kno
ece40 77 6e 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 wn.at.<a.href="#comptime">compti
ece60 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 me</a>,.......are.stored.in.the.
ece80 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 20 41 6c global.constant.data.section..Al
ecea0 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 so.<a.href="#Compile-Time-Variab
ecec0 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 les">Compile.Time.Variables</a>.
ecee0 61 72 65 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 are.stored.......in.the.global.c
ecf00 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e onstant.data.section........</p>
ecf20 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
ecf40 73 73 3d 22 6c 69 6e 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
ecf60 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 74 ar</span></span></code>.declarat
ecf80 69 6f 6e 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 73 74 6f 72 65 64 ions.inside.functions.are.stored
ecfa0 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 20 .in.the.function's.stack.frame..
ecfc0 4f 6e 63 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2c 0a 20 20 20 20 20 20 61 Once.a.function.returns,.......a
ecfe0 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c ny.<a.href="#Pointers">Pointers<
ed000 2f 61 3e 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e /a>.to.variables.in.the.function
ed020 27 73 20 73 74 61 63 6b 20 66 72 61 6d 65 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 72 65 's.stack.frame.become.invalid.re
ed040 66 65 72 65 6e 63 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 64 65 72 65 66 65 72 65 6e 63 69 6e ferences,.and.......dereferencin
ed060 67 20 74 68 65 6d 20 62 65 63 6f 6d 65 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 g.them.becomes.unchecked.<a.href
ed080 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
ed0a0 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>.......
ed0c0 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
ed0e0 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
ed100 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 74 n></span></code>.declarations.at
ed120 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 6f 72 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 73 .the.top.level.or.in.<a.href="#s
ed140 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 truct">struct</a>.declarations.a
ed160 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 64 61 re.stored.in.the.global.......da
ed180 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ta.section........</p>.......<p>
ed1a0 0a 20 20 20 20 20 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 61 6c .......The.location.of.memory.al
ed1c0 6c 6f 63 61 74 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 located.with.<code><span.class="
ed1e0 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f line">allocator.alloc</span></co
ed200 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 de>.or.......<code><span.class="
ed220 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 3c 2f 73 70 61 6e 3e 3c 2f 63 line">allocator.create</span></c
ed240 6f 64 65 3e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 61 6c 6c 6f 63 61 ode>.is.determined.by.the.alloca
ed260 74 6f 72 27 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e tor's.implementation........</p>
ed280 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 .......<p>TODO:.thread.local.var
ed2a0 69 61 62 6c 65 73 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 iables</p>...............<h3.id=
ed2c0 22 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 3c 61 20 68 "Implementing-an-Allocator"><a.h
ed2e0 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d ref="nav.xhtml#toc-Implementing-
ed300 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 67 20 61 6e 20 41 6c an-Allocator">Implementing.an.Al
ed320 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d locator</a>.<a.class="hdr".href=
ed340 22 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c "#Implementing-an-Allocator">..<
ed360 2f 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 /a></h3>........<p>Zig.programme
ed380 72 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 rs.can.implement.their.own.alloc
ed3a0 61 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 ators.by.fulfilling.the.Allocato
ed3c0 72 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 r.interface........In.order.to.d
ed3e0 6f 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 o.this.one.must.read.carefully.t
ed400 68 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 he.documentation.comments.in.std
ed420 2f 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 /mem.zig.and.......then.supply.a
ed440 20 3c 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 .<code><span.class="line">allocF
ed460 6e 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 n</span></code>.and.a.<code><spa
ed480 6e 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 n.class="line">resizeFn</span></
ed4a0 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>.....
ed4c0 20 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 ..There.are.many.example.allocat
ed4e0 6f 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 ors.to.look.at.for.inspiration..
ed500 4c 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 Look.at.std/heap.zig.and.......<
ed520 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 61 70 code><span.class="line">std.heap
ed540 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 6e 3e 3c .GeneralPurposeAllocator</span><
ed560 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 20 20 /code>........</p>..............
ed580 20 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 .<h3.id="Heap-Allocation-Failure
ed5a0 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 48 65 61 70 2d 41 6c "><a.href="nav.xhtml#toc-Heap-Al
ed5c0 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f location-Failure">Heap.Allocatio
ed5e0 6e 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 n.Failure</a>.<a.class="hdr".hre
ed600 66 3d 22 23 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e c2 a7 3c f="#Heap-Allocation-Failure">..<
ed620 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 4d 61 6e 79 20 70 /a></h3>........<p>.......Many.p
ed640 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 20 63 68 6f 6f 73 65 20 74 6f 20 68 rogramming.languages.choose.to.h
ed660 61 6e 64 6c 65 20 74 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 68 65 61 70 20 61 6c andle.the.possibility.of.heap.al
ed680 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 20 62 79 0a 20 20 20 20 20 20 75 6e 63 6f 6e 64 location.failure.by.......uncond
ed6a0 69 74 69 6f 6e 61 6c 6c 79 20 63 72 61 73 68 69 6e 67 2e 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f itionally.crashing..By.conventio
ed6c0 6e 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6e 73 69 64 n,.Zig.programmers.do.not.consid
ed6e0 65 72 20 74 68 69 73 20 74 6f 20 62 65 20 61 0a 20 20 20 20 20 20 73 61 74 69 73 66 61 63 74 6f er.this.to.be.a.......satisfacto
ed700 72 79 20 73 6f 6c 75 74 69 6f 6e 2e 20 49 6e 73 74 65 61 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 ry.solution..Instead,.<code><spa
ed720 6e 20 63 6c 61 73 73 3d 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-
ed740 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 73 70 kw">error</span>.OutOfMemory</sp
ed760 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 70 72 65 73 65 6e 74 73 0a 20 20 20 20 20 20 68 65 61 70 an></code>.represents.......heap
ed780 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 2c 20 61 6e 64 20 5a 69 67 20 6c 69 62 .allocation.failure,.and.Zig.lib
ed7a0 72 61 72 69 65 73 20 72 65 74 75 72 6e 20 74 68 69 73 20 65 72 72 6f 72 20 63 6f 64 65 20 77 68 raries.return.this.error.code.wh
ed7c0 65 6e 65 76 65 72 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 66 61 69 enever.heap.allocation.......fai
ed7e0 6c 75 72 65 20 70 72 65 76 65 6e 74 65 64 20 61 6e 20 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d lure.prevented.an.operation.from
ed800 20 63 6f 6d 70 6c 65 74 69 6e 67 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 0a 20 20 20 20 20 20 .completing.successfully........
ed820 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 20 68 61 76 65 20 61 </p>.......<p>.......Some.have.a
ed840 72 67 75 65 64 20 74 68 61 74 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e rgued.that.because.some.operatin
ed860 67 20 73 79 73 74 65 6d 73 20 73 75 63 68 20 61 73 20 4c 69 6e 75 78 20 68 61 76 65 20 6d 65 6d g.systems.such.as.Linux.have.mem
ed880 6f 72 79 20 6f 76 65 72 63 6f 6d 6d 69 74 20 65 6e 61 62 6c 65 64 20 62 79 0a 20 20 20 20 20 20 ory.overcommit.enabled.by.......
ed8a0 64 65 66 61 75 6c 74 2c 20 69 74 20 69 73 20 70 6f 69 6e 74 6c 65 73 73 20 74 6f 20 68 61 6e 64 default,.it.is.pointless.to.hand
ed8c0 6c 65 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 72 le.heap.allocation.failure..Ther
ed8e0 65 20 61 72 65 20 6d 61 6e 79 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 69 73 20 72 65 e.are.many.problems.with.this.re
ed900 61 73 6f 6e 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 asoning:.......</p>.......<ul>..
ed920 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 .........<li>Only.some.operating
ed940 20 73 79 73 74 65 6d 73 20 68 61 76 65 20 61 6e 20 6f 76 65 72 63 6f 6d 6d 69 74 20 66 65 61 74 .systems.have.an.overcommit.feat
ed960 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ure................<ul>.........
ed980 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 69 6e 75 78 20 68 61 73 20 69 74 20 65 6e 61 62 6c ..........<li>Linux.has.it.enabl
ed9a0 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 62 75 74 20 69 74 20 69 73 20 63 6f 6e 66 69 67 75 ed.by.default,.but.it.is.configu
ed9c0 72 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c rable.</li>...................<l
ed9e0 69 3e 57 69 6e 64 6f 77 73 20 64 6f 65 73 20 6e 6f 74 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f i>Windows.does.not.overcommit.</
eda00 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 62 65 64 64 li>...................<li>Embedd
eda20 65 64 20 73 79 73 74 65 6d 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 6f 76 65 72 63 6f 6d 6d 69 ed.systems.do.not.have.overcommi
eda40 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 48 6f t.</li>...................<li>Ho
eda60 62 62 79 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 6d 61 79 20 6f 72 20 6d 61 79 bby.operating.systems.may.or.may
eda80 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 20 20 20 .not.have.overcommit.</li>......
edaa0 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 .........</ul>...........</li>..
edac0 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 46 6f 72 20 .........<li>...............For.
edae0 72 65 61 6c 2d 74 69 6d 65 20 73 79 73 74 65 6d 73 2c 20 6e 6f 74 20 6f 6e 6c 79 20 69 73 20 74 real-time.systems,.not.only.is.t
edb00 68 65 72 65 20 6e 6f 20 6f 76 65 72 63 6f 6d 6d 69 74 2c 20 62 75 74 20 74 79 70 69 63 61 6c 6c here.no.overcommit,.but.typicall
edb20 79 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6d 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 y.the.maximum.amount............
edb40 20 20 20 6f 66 20 6d 65 6d 6f 72 79 20 70 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 ...of.memory.per.application.is.
edb60 64 65 74 65 72 6d 69 6e 65 64 20 61 68 65 61 64 20 6f 66 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 determined.ahead.of.time........
edb80 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 ....</li>...........<li>........
edba0 20 20 20 20 20 20 20 57 68 65 6e 20 77 72 69 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 2c 20 6f .......When.writing.a.library,.o
edbc0 6e 65 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 67 6f 61 6c 73 20 69 73 20 63 6f 64 65 20 72 65 75 ne.of.the.main.goals.is.code.reu
edbe0 73 65 2e 20 42 79 20 6d 61 6b 69 6e 67 20 63 6f 64 65 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 se..By.making.code.handle.......
edc00 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 20 63 6f 72 72 65 ........allocation.failure.corre
edc20 63 74 6c 79 2c 20 61 20 6c 69 62 72 61 72 79 20 62 65 63 6f 6d 65 73 20 65 6c 69 67 69 62 6c 65 ctly,.a.library.becomes.eligible
edc40 20 74 6f 20 62 65 20 72 65 75 73 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d .to.be.reused.in...............m
edc60 6f 72 65 20 63 6f 6e 74 65 78 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 ore.contexts............</li>...
edc80 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 74 68 6f ........<li>...............Altho
edca0 75 67 68 20 73 6f 6d 65 20 73 6f 66 74 77 61 72 65 20 68 61 73 20 67 72 6f 77 6e 20 74 6f 20 64 ugh.some.software.has.grown.to.d
edcc0 65 70 65 6e 64 20 6f 6e 20 6f 76 65 72 63 6f 6d 6d 69 74 20 62 65 69 6e 67 20 65 6e 61 62 6c 65 epend.on.overcommit.being.enable
edce0 64 2c 20 69 74 73 20 65 78 69 73 74 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 d,.its.existence...............i
edd00 73 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 63 6f 75 6e 74 6c 65 73 73 20 75 73 65 72 20 65 s.the.source.of.countless.user.e
edd20 78 70 65 72 69 65 6e 63 65 20 64 69 73 61 73 74 65 72 73 2e 20 57 68 65 6e 20 61 20 73 79 73 74 xperience.disasters..When.a.syst
edd40 65 6d 20 77 69 74 68 20 6f 76 65 72 63 6f 6d 6d 69 74 20 65 6e 61 62 6c 65 64 2c 0a 20 20 20 20 em.with.overcommit.enabled,.....
edd60 20 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 73 20 4c 69 6e 75 78 20 6f 6e 20 64 65 66 61 75 ..........such.as.Linux.on.defau
edd80 6c 74 20 73 65 74 74 69 6e 67 73 2c 20 63 6f 6d 65 73 20 63 6c 6f 73 65 20 74 6f 20 6d 65 6d 6f lt.settings,.comes.close.to.memo
edda0 72 79 20 65 78 68 61 75 73 74 69 6f 6e 2c 20 74 68 65 20 73 79 73 74 65 6d 20 6c 6f 63 6b 73 20 ry.exhaustion,.the.system.locks.
eddc0 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 62 65 63 6f 6d 65 73 20 75 6e 75 up...............and.becomes.unu
edde0 73 61 62 6c 65 2e 20 41 74 20 74 68 69 73 20 70 6f 69 6e 74 2c 20 74 68 65 20 4f 4f 4d 20 4b 69 sable..At.this.point,.the.OOM.Ki
ede00 6c 6c 65 72 20 73 65 6c 65 63 74 73 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 6b ller.selects.an.application.to.k
ede20 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 ill...............based.on.heuri
ede40 73 74 69 63 73 2e 20 54 68 69 73 20 6e 6f 6e 2d 64 65 74 65 72 6d 69 6e 69 73 74 69 63 20 64 65 stics..This.non-deterministic.de
ede60 63 69 73 69 6f 6e 20 6f 66 74 65 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 69 6d 70 6f 72 cision.often.results.in.an.impor
ede80 74 61 6e 74 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 tant.process...............being
edea0 20 6b 69 6c 6c 65 64 2c 20 61 6e 64 20 6f 66 74 65 6e 20 66 61 69 6c 73 20 74 6f 20 72 65 74 75 .killed,.and.often.fails.to.retu
edec0 72 6e 20 74 68 65 20 73 79 73 74 65 6d 20 62 61 63 6b 20 74 6f 20 77 6f 72 6b 69 6e 67 20 6f 72 rn.the.system.back.to.working.or
edee0 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e der............</li>.......</ul>
edf00 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 63 75 72 73 69 6f 6e ...............<h3.id="Recursion
edf20 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 63 75 72 73 69 "><a.href="nav.xhtml#toc-Recursi
edf40 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 on">Recursion</a>.<a.class="hdr"
edf60 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a .href="#Recursion">..</a></h3>..
edf80 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 61 20 66 ......<p>.......Recursion.is.a.f
edfa0 75 6e 64 61 6d 65 6e 74 61 6c 20 74 6f 6f 6c 20 69 6e 20 6d 6f 64 65 6c 69 6e 67 20 73 6f 66 74 undamental.tool.in.modeling.soft
edfc0 77 61 72 65 2e 20 48 6f 77 65 76 65 72 20 69 74 20 68 61 73 20 61 6e 20 6f 66 74 65 6e 2d 6f 76 ware..However.it.has.an.often-ov
edfe0 65 72 6c 6f 6f 6b 65 64 20 70 72 6f 62 6c 65 6d 3a 0a 20 20 20 20 20 20 75 6e 62 6f 75 6e 64 65 erlooked.problem:.......unbounde
ee000 64 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a d.memory.allocation........</p>.
ee020 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 61 6e 20 ......<p>.......Recursion.is.an.
ee040 61 72 65 61 20 6f 66 20 61 63 74 69 76 65 20 65 78 70 65 72 69 6d 65 6e 74 61 74 69 6f 6e 20 69 area.of.active.experimentation.i
ee060 6e 20 5a 69 67 20 61 6e 64 20 73 6f 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 68 n.Zig.and.so.the.documentation.h
ee080 65 72 65 20 69 73 20 6e 6f 74 20 66 69 6e 61 6c 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 ere.is.not.final........You.can.
ee0a0 72 65 61 64 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 read.a.......<a.href="https://zi
ee0c0 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f 30 2e 33 2e 30 2f 72 65 6c 65 61 73 65 glang.org/download/0.3.0/release
ee0e0 2d 6e 6f 74 65 73 2e 68 74 6d 6c 23 72 65 63 75 72 73 69 6f 6e 22 3e 73 75 6d 6d 61 72 79 20 6f -notes.html#recursion">summary.o
ee100 66 20 72 65 63 75 72 73 69 6f 6e 20 73 74 61 74 75 73 20 69 6e 20 74 68 65 20 30 2e 33 2e 30 20 f.recursion.status.in.the.0.3.0.
ee120 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 release.notes</a>........</p>...
ee140 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 68 6f 72 74 20 73 75 6d 6d 61 72 79 20 ....<p>.......The.short.summary.
ee160 69 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 6c 79 20 72 65 63 75 72 73 69 6f 6e 20 77 6f 72 6b is.that.currently.recursion.work
ee180 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 73 20 79 6f 75 20 77 6f 75 6c 64 20 65 78 70 65 63 74 2e 20 s.normally.as.you.would.expect..
ee1a0 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 63 6f 64 65 0a 20 20 20 20 20 20 69 73 20 6e 6f 74 20 79 Although.Zig.code.......is.not.y
ee1c0 65 74 20 70 72 6f 74 65 63 74 65 64 20 66 72 6f 6d 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 et.protected.from.stack.overflow
ee1e0 2c 20 69 74 20 69 73 20 70 6c 61 6e 6e 65 64 20 74 68 61 74 20 61 20 66 75 74 75 72 65 20 76 65 ,.it.is.planned.that.a.future.ve
ee200 72 73 69 6f 6e 20 6f 66 20 5a 69 67 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 0a 20 20 20 20 20 20 rsion.of.Zig.will.provide.......
ee220 73 75 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 77 69 74 68 20 73 6f 6d 65 20 64 65 67 72 65 such.protection,.with.some.degre
ee240 65 20 6f 66 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 5a 69 67 20 63 6f 64 65 20 72 e.of.cooperation.from.Zig.code.r
ee260 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 equired........</p>.............
ee280 20 20 3c 68 33 20 69 64 3d 22 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 ..<h3.id="Lifetime-and-Ownership
ee2a0 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4c 69 66 65 74 69 6d "><a.href="nav.xhtml#toc-Lifetim
ee2c0 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 20 4f 77 e-and-Ownership">Lifetime.and.Ow
ee2e0 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 72 65 66 3d nership</a>.<a.class="hdr".href=
ee300 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 3c 2f 61 3e "#Lifetime-and-Ownership">..</a>
ee320 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 20 74 68 65 </h3>........<p>.......It.is.the
ee340 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 6c 69 74 79 .Zig.programmer's.responsibility
ee360 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 50 6f 69 6e .to.ensure.that.a.<a.href="#Poin
ee380 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 20 20 20 61 ters">pointer</a>.is.not.......a
ee3a0 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 74 65 64 20 ccessed.when.the.memory.pointed.
ee3c0 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 6f 74 65 20 to.is.no.longer.available..Note.
ee3e0 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 63 65 3c 2f that.a.<a.href="#Slices">slice</
ee400 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 72 2c 20 69 a>.......is.a.form.of.pointer,.i
ee420 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 65 6d 6f 72 n.that.it.references.other.memor
ee440 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 20 20 49 6e y........</p>.......<p>.......In
ee460 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 65 20 61 72 .order.to.prevent.bugs,.there.ar
ee480 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 6f 20 66 6f e.some.helpful.conventions.to.fo
ee4a0 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 65 72 73 2e llow.when.dealing.with.pointers.
ee4c0 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 6e 63 74 69 .......In.general,.when.a.functi
ee4e0 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 63 75 6d 65 on.returns.a.pointer,.the.docume
ee500 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 75 6c 64 20 ntation.for.the.function.should.
ee520 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 20 70 6f 69 explain.......who."owns".the.poi
ee540 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 20 70 72 6f nter..This.concept.helps.the.pro
ee560 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 70 72 6f 70 grammer.decide.when.it.is.approp
ee580 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 65 20 74 68 riate,.if.ever,.......to.free.th
ee5a0 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 3c 70 3e 0a e.pointer........</p>.......<p>.
ee5c0 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 69 6f 6e 27 ......For.example,.the.function'
ee5e0 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 6c 65 72 20 s.documentation.may.say."caller.
ee600 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 6e 20 77 68 owns.the.returned.memory",.in.wh
ee620 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 20 63 61 6c ich.case.......the.code.that.cal
ee640 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 70 6c 61 6e ls.the.function.must.have.a.plan
ee660 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 79 2e 20 50 .for.when.to.free.that.memory..P
ee680 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 20 20 20 20 robably.in.this.situation,......
ee6a0 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 20 3c 63 6f .the.function.will.accept.an.<co
ee6c0 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 72 3c de><span.class="line">Allocator<
ee6e0 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 20 20 20 3c /span></code>.parameter........<
ee700 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 74 69 6d 65 73 20 74 68 /p>.......<p>.......Sometimes.th
ee720 65 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 6d 61 79 20 62 65 20 6d e.lifetime.of.a.pointer.may.be.m
ee740 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 ore.complicated..For.example,.th
ee760 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"
ee780 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 6e 3e 3c 2f >std.ArrayList(T).items</span></
ee7a0 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 68 61 74 20 code>.slice.has.a.lifetime.that.
ee7c0 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 65 20 6e 65 remains.......valid.until.the.ne
ee7e0 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 20 73 75 63 xt.time.the.list.is.resized,.suc
ee800 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 74 73 2e 0a h.as.by.appending.new.elements..
ee820 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 41 ......</p>.......<p>.......The.A
ee840 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 6e 73 20 61 PI.documentation.for.functions.a
ee860 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 6b 65 20 67 nd.data.structures.should.take.g
ee880 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 68 65 20 6f reat.care.to.explain.......the.o
ee8a0 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 69 63 73 20 wnership.and.lifetime.semantics.
ee8c0 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 6d 69 6e 65 of.pointers..Ownership.determine
ee8e0 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 20 20 20 20 s.whose.responsibility.it.......
ee900 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 6e 63 65 64 is.to.free.the.memory.referenced
ee920 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 65 20 64 65 .by.the.pointer,.and.lifetime.de
ee940 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 20 20 20 20 termines.the.point.at.which.....
ee960 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 73 69 62 6c ..the.memory.becomes.inaccessibl
ee980 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 42 65 68 61 e.(lest.<a.href="#Undefined-Beha
ee9a0 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 6f 63 63 vior">Undefined.Behavior</a>.occ
ee9c0 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 20 20 0a 20 ur)........</p>.................
ee9e0 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 65 73 22 3e .....<h2.id="Compile-Variables">
eea00 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 <a.href="nav.xhtml#toc-Compile-V
eea20 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 ariables">Compile.Variables</a>.
eea40 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 <a.class="hdr".href="#Compile-Va
eea60 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a riables">..</a></h2>........<p>.
eea80 20 20 20 20 20 20 43 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 ......Compile.variables.are.acce
eeaa0 73 73 69 62 6c 65 20 62 79 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 ssible.by.importing.the.<code><s
eeac0 70 61 6e 20 63 6c 61 73 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
eeae0 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
eeb00 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 63 6b 61 67 65 2c 0a 20 20 20 20 20 20 77 ></span></code>.package,.......w
eeb20 68 69 63 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6d 61 6b 65 73 20 61 76 61 69 6c 61 62 6c hich.the.compiler.makes.availabl
eeb40 65 20 74 6f 20 65 76 65 72 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 74 20 63 e.to.every.Zig.source.file..It.c
eeb60 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 ontains.......compile-time.const
eeb80 61 6e 74 73 20 73 75 63 68 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 2c ants.such.as.the.current.target,
eeba0 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 2e 0a 20 .endianness,.and.release.mode...
eebc0 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
eebe0 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=
eec00 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
eec20 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"
eec40 3e 3c 73 70 61 6e 20 63 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
eec60 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
eec80 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
eeca0 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;<
eecc0 2f 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
eece0 65 22 3e 3c 73 70 61 6e 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
eed00 70 61 6e 3e 20 73 65 70 61 72 61 74 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.separator.=.<span.class="to
eed20 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 k-kw">if</span>.(builtin.os.tag.
eed40 3d 3d 20 62 75 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 ==.builtin.Os.windows).<span.cla
eed60 73 73 3d 22 74 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 ss="tok-str">'\\'</span>.<span.c
eed80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 lass="tok-kw">else</span>.<span.
eeda0 63 6c 61 73 73 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 class="tok-str">'/'</span>;</spa
eedc0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c n></code></pre></figure>.......<
eede0 70 3e 0a 20 20 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 p>.......Example.of.what.is.impo
eee00 72 74 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 rted.with.<code><span.class="lin
eee20 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d e"><span.class="tok-builtin">@im
eee40 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
eee60 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 ">&quot;builtin&quot;</span>)</s
eee80 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 3c 66 pan></code>:.......</p>.......<f
eeea0 69 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
eeec0 22 3e 3c 63 69 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 "><cite>@import("builtin")</cite
eeee0 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
eef00 6c 61 73 73 3d 22 6c 69 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"
eef20 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=
eef40 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
eef60 61 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
eef80 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="
eefa0 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">
eefc0 2f 2f 2f 20 5a 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 ///.Zig.version..When.writing.co
eefe0 64 65 20 74 68 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 de.that.supports.multiple.versio
ef000 6e 73 20 6f 66 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 ns.of.Zig,.prefer</span></span>.
ef020 3c 73 70 61 6e 20 63 6c 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="
ef040 74 6f 6b 2d 63 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 tok-comment">///.feature.detecti
ef060 6f 6e 20 28 69 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 on.(i.e..with.`@hasDecl`.or.`@ha
ef080 73 46 69 65 6c 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 sField`).over.version.checks.</s
ef0a0 70 61 6e 3e 3c 2f 73 70 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"><
ef0c0 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>.<
ef0e0 73 70 61 6e 20 63 6c 61 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>
ef100 20 7a 69 67 5f 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 .zig_version.=.std.SemanticVersi
ef120 6f 6e 2e 70 61 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 on.parse(<span.class="tok-str">&
ef140 71 75 6f 74 3b 30 2e 39 2e 30 2d 64 65 76 2e 31 39 36 36 2b 32 30 33 32 38 65 39 37 36 26 71 75 quot;0.9.0-dev.1966+20328e976&qu
ef160 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 77 22 ot;</span>).<span.class="tok-kw"
ef180 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >catch</span>.<span.class="tok-k
ef1a0 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
ef1c0 70 61 6e 20 63 6c 61 73 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
ef1e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 65 6d 70 6f 72 61 72 79 20 75 6e 74 69 6c 20 73 k-comment">///.Temporary.until.s
ef200 65 6c 66 2d 68 6f 73 74 65 64 20 69 73 20 66 65 61 74 75 72 65 20 63 6f 6d 70 6c 65 74 65 2e 3c elf-hosted.is.feature.complete.<
ef220 2f 73 70 61 6e 3e 3c 2f 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"
ef240 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>
ef260 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
ef280 6e 3e 20 7a 69 67 5f 69 73 5f 73 74 61 67 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.zig_is_stage2.=.<span.class="
ef2a0 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>.<
ef2c0 73 70 61 6e 20 63 6c 61 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
ef2e0 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 20 75 6e 74 69 6c 20 ok-comment">///.Temporary.until.
ef300 73 65 6c 66 2d 68 6f 73 74 65 64 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 60 63 70 75 2e 61 72 self-hosted.supports.the.`cpu.ar
ef320 63 68 60 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 ch`.value.</span></span>.<span.c
ef340 6c 61 73 73 3d 22 6c 69 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"
ef360 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"
ef380 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 61 67 65 32 5f 61 72 63 68 3a 20 73 74 64 2e 54 >const</span>.stage2_arch:.std.T
ef3a0 61 72 67 65 74 2e 43 70 75 2e 41 72 63 68 20 3d 20 2e 78 38 36 5f 36 34 3b 3c 2f 73 70 61 6e 3e arget.Cpu.Arch.=..x86_64;</span>
ef3c0 0a 3c 73 70 61 6e 20 63 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=
ef3e0 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 20 75 6e 74 69 "tok-comment">///.Temporary.unti
ef400 6c 20 73 65 6c 66 2d 68 6f 73 74 65 64 20 63 61 6e 20 63 61 6c 6c 20 60 73 74 64 2e 54 61 72 67 l.self-hosted.can.call.`std.Targ
ef420 65 74 2e 78 38 36 2e 66 65 61 74 75 72 65 53 65 74 48 61 73 60 20 61 74 20 63 6f 6d 70 74 69 6d et.x86.featureSetHas`.at.comptim
ef440 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.</span></span>.<span.class="li
ef460 6e 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
ef480 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</
ef4a0 73 70 61 6e 3e 20 73 74 61 67 65 32 5f 78 38 36 5f 63 78 31 36 20 3d 20 3c 73 70 61 6e 20 63 6c span>.stage2_x86_cx16.=.<span.cl
ef4c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ass="tok-null">true</span>;</spa
ef4e0 6e 3e 0a 3c 73 70 61 6e 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
ef500 70 61 6e 20 63 6c 61 73 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
ef520 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
ef540 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 75 74 70 75 74 5f 6d 6f 64 65 20 3d k-kw">const</span>.output_mode.=
ef560 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4f 75 74 70 75 74 4d 6f 64 65 2e 4f 62 6a 3b 3c 2f 73 70 .std.builtin.OutputMode.Obj;</sp
ef580 61 6e 3e 0a 3c 73 70 61 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
ef5a0 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
ef5c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6d 6f ss="tok-kw">const</span>.link_mo
ef5e0 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4c 69 6e 6b 4d 6f 64 65 2e 53 74 61 74 69 63 de.=.std.builtin.LinkMode.Static
ef600 3b 3c 2f 73 70 61 6e 3e 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
ef620 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
ef640 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.is
ef660 5f 74 65 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 _test.=.<span.class="tok-null">f
ef680 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 3d alse</span>;</span>.<span.class=
ef6a0 22 6c 69 6e 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<
ef6c0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>.<span.class="tok-kw">cons
ef6e0 74 3c 2f 73 70 61 6e 3e 20 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 20 3d 20 3c 73 70 61 6e t</span>.single_threaded.=.<span
ef700 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>;<
ef720 2f 73 70 61 6e 3e 0a 3c 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.
ef740 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.
ef760 63 6c 61 73 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 62 69 20 class="tok-kw">const</span>.abi.
ef780 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 41 62 69 2e 67 6e 75 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 =.std.Target.Abi.gnu;</span>.<sp
ef7a0 61 6e 20 63 6c 61 73 73 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
ef7c0 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
ef7e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 70 75 3a 20 73 74 64 2e 54 61 72 67 65 -kw">const</span>.cpu:.std.Targe
ef800 74 2e 43 70 75 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 t.Cpu.=..{</span>.<span.class="l
ef820 69 6e 65 22 3e 20 20 20 20 2e 61 72 63 68 20 3d 20 2e 78 38 36 5f 36 34 2c 3c 2f 73 70 61 6e 3e ine">.....arch.=..x86_64,</span>
ef840 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 6d 6f 64 65 6c 20 3d .<span.class="line">.....model.=
ef860 20 26 61 6d 70 3b 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 63 70 75 2e 73 6b 79 6c 61 6b 65 .&amp;std.Target.x86.cpu.skylake
ef880 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">....
ef8a0 2e 66 65 61 74 75 72 65 73 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 66 65 61 74 75 .features.=.std.Target.x86.featu
ef8c0 72 65 53 65 74 28 26 61 6d 70 3b 5b 5f 5d 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 46 65 61 reSet(&amp;[_]std.Target.x86.Fea
ef8e0 74 75 72 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 ture{</span>.<span.class="line">
ef900 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 36 34 62 69 74 26 71 75 6f 74 3b 2c 3c 2f 73 70 .........@&quot;64bit&quot;,</sp
ef920 61 6e 3e 0a 3c 73 70 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">.........
ef940 61 64 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 adx,</span>.<span.class="line">.
ef960 20 20 20 20 20 20 20 2e 61 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ........aes,</span>.<span.class=
ef980 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 76 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">.........avx,</span>.<spa
ef9a0 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 32 2c 3c 2f 73 n.class="line">.........avx2,</s
ef9c0 70 61 6e 3e 0a 3c 73 70 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">........
ef9e0 2e 62 6d 69 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 .bmi,</span>.<span.class="line">
efa00 20 20 20 20 20 20 20 20 2e 62 6d 69 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .........bmi2,</span>.<span.clas
efa20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6c 66 6c 75 73 68 6f 70 74 2c 3c 2f 73 s="line">.........clflushopt,</s
efa40 70 61 6e 3e 0a 3c 73 70 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">........
efa60 2e 63 6d 6f 76 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 .cmov,</span>.<span.class="line"
efa80 3e 20 20 20 20 20 20 20 20 2e 63 78 31 36 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >.........cx16,</span>.<span.cla
efaa0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 78 38 2c 3c 2f 73 70 61 6e 3e 0a 3c ss="line">.........cx8,</span>.<
efac0 73 70 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 65 72 6d 73 62 span.class="line">.........ermsb
efae0 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">....
efb00 20 20 20 20 2e 66 31 36 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .....f16c,</span>.<span.class="l
efb20 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 6c 73 65 5f 64 65 70 73 5f 70 6f 70 63 6e 74 2c ine">.........false_deps_popcnt,
efb40 3c 2f 73 70 61 6e 3e 0a 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">.....
efb60 20 20 20 2e 66 61 73 74 5f 31 35 62 79 74 65 6e 6f 70 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ....fast_15bytenop,</span>.<span
efb80 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 67 61 74 68 .class="line">.........fast_gath
efba0 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 er,</span>.<span.class="line">..
efbc0 20 20 20 20 20 20 2e 66 61 73 74 5f 73 63 61 6c 61 72 5f 66 73 71 72 74 2c 3c 2f 73 70 61 6e 3e .......fast_scalar_fsqrt,</span>
efbe0 0a 3c 73 70 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 .<span.class="line">.........fas
efc00 74 5f 73 68 6c 64 5f 72 6f 74 61 74 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 t_shld_rotate,</span>.<span.clas
efc20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 61 72 69 61 62 6c 65 5f s="line">.........fast_variable_
efc40 63 72 6f 73 73 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 crosslane_shuffle,</span>.<span.
efc60 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 61 72 69 61 class="line">.........fast_varia
efc80 62 6c 65 5f 70 65 72 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ble_perlane_shuffle,</span>.<spa
efca0 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 65 63 n.class="line">.........fast_vec
efcc0 74 6f 72 5f 66 73 71 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c tor_fsqrt,</span>.<span.class="l
efce0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 6d 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ine">.........fma,</span>.<span.
efd00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 73 67 73 62 61 73 65 2c 3c class="line">.........fsgsbase,<
efd20 2f 73 70 61 6e 3e 0a 3c 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">......
efd40 20 20 2e 66 78 73 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 ...fxsr,</span>.<span.class="lin
efd60 65 22 3e 20 20 20 20 20 20 20 20 2e 69 64 69 76 71 5f 74 6f 5f 64 69 76 6c 2c 3c 2f 73 70 61 6e e">.........idivq_to_divl,</span
efd80 3e 0a 3c 73 70 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 69 6e >.<span.class="line">.........in
efda0 76 70 63 69 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 vpcid,</span>.<span.class="line"
efdc0 3e 20 20 20 20 20 20 20 20 2e 6c 7a 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >.........lzcnt,</span>.<span.cl
efde0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 61 63 72 6f 66 75 73 69 6f 6e 2c ass="line">.........macrofusion,
efe00 3c 2f 73 70 61 6e 3e 0a 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">.....
efe20 20 20 20 2e 6d 6d 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....mmx,</span>.<span.class="lin
efe40 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 6f 76 62 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e">.........movbe,</span>.<span.
efe60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 6f 70 6c 2c 3c 2f 73 70 61 class="line">.........nopl,</spa
efe80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 n>.<span.class="line">.........p
efea0 63 6c 6d 75 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 clmul,</span>.<span.class="line"
efec0 3e 20 20 20 20 20 20 20 20 2e 70 6f 70 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >.........popcnt,</span>.<span.c
efee0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 72 66 63 68 77 2c 3c 2f 73 70 lass="line">.........prfchw,</sp
eff00 61 6e 3e 0a 3c 73 70 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">.........
eff20 72 64 72 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 rdrnd,</span>.<span.class="line"
eff40 3e 20 20 20 20 20 20 20 20 2e 72 64 73 65 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >.........rdseed,</span>.<span.c
eff60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 61 68 66 2c 3c 2f 73 70 61 6e lass="line">.........sahf,</span
eff80 3e 0a 3c 73 70 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 67 >.<span.class="line">.........sg
effa0 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 x,</span>.<span.class="line">...
effc0 20 20 20 20 20 2e 73 6c 6f 77 5f 33 6f 70 73 5f 6c 65 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ......slow_3ops_lea,</span>.<spa
effe0 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 2c 3c 2f 73 70 n.class="line">.........sse,</sp
f0000 61 6e 3e 0a 3c 73 70 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">.........
f0020 73 73 65 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 sse2,</span>.<span.class="line">
f0040 20 20 20 20 20 20 20 20 2e 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .........sse3,</span>.<span.clas
f0060 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 31 2c 3c 2f 73 70 61 6e 3e s="line">.........sse4_1,</span>
f0080 0a 3c 73 70 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 .<span.class="line">.........sse
f00a0 34 5f 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 20 4_2,</span>.<span.class="line">.
f00c0 20 20 20 20 20 20 20 2e 73 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ........ssse3,</span>.<span.clas
f00e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 76 7a 65 72 6f 75 70 70 65 72 2c 3c 2f 73 s="line">.........vzeroupper,</s
f0100 70 61 6e 3e 0a 3c 73 70 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">........
f0120 2e 78 38 37 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 .x87,</span>.<span.class="line">
f0140 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .........xsave,</span>.<span.cla
f0160 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 63 2c 3c 2f 73 70 61 6e ss="line">.........xsavec,</span
f0180 3e 0a 3c 73 70 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 >.<span.class="line">.........xs
f01a0 61 76 65 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 aveopt,</span>.<span.class="line
f01c0 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">.........xsaves,</span>.<span.
f01e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 class="line">....}),</span>.<spa
f0200 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
f0220 6c 61 73 73 3d 22 6c 69 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"
f0240 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"
f0260 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 73 >const</span>.os.=.std.Target.Os
f0280 7b 3c 2f 73 70 61 6e 3e 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">....
f02a0 2e 74 61 67 20 3d 20 2e 6c 69 6e 75 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .tag.=..linux,</span>.<span.clas
f02c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 76 65 72 73 69 6f 6e 5f 72 61 6e 67 65 20 3d 20 2e 7b s="line">.....version_range.=..{
f02e0 20 2e 6c 69 6e 75 78 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 ..linux.=..{</span>.<span.class=
f0300 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 61 6e 67 65 20 3d 20 2e 7b 3c 2f 73 70 61 6e "line">.........range.=..{</span
f0320 3e 0a 3c 73 70 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">...........
f0340 20 2e 6d 69 6e 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 ..min.=..{</span>.<span.class="l
f0360 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 20 3d 20 3c 73 ine">.................major.=.<s
f0380 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">5</span>,
f03a0 3c 2f 73 70 61 6e 3e 0a 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">.....
f03c0 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ............minor.=.<span.class=
f03e0 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 61 6e 3e 0a 3c "tok-number">10</span>,</span>.<
f0400 73 70 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">..............
f0420 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ...patch.=.<span.class="tok-numb
f0440 65 72 22 3e 38 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 er">81</span>,</span>.<span.clas
f0460 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c s="line">............},</span>.<
f0480 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d span.class="line">.............m
f04a0 61 78 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 ax.=..{</span>.<span.class="line
f04c0 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a 6f 72 20 3d 20 3c 73 70 61 6e ">.................major.=.<span
f04e0 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 3c 2f 73 .class="tok-number">5</span>,</s
f0500 70 61 6e 3e 0a 3c 73 70 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">........
f0520 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
f0540 6b 2d 6e 75 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 k-number">10</span>,</span>.<spa
f0560 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 2e n.class="line">.................
f0580 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 patch.=.<span.class="tok-number"
f05a0 3e 38 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 >81</span>,</span>.<span.class="
f05c0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 line">............},</span>.<spa
f05e0 6e 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 n.class="line">........},</span>
f0600 0a 3c 73 70 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 67 6c 69 .<span.class="line">.........gli
f0620 62 63 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 bc.=..{</span>.<span.class="line
f0640 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">.............major.=.<span.cla
f0660 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ss="tok-number">2</span>,</span>
f0680 0a 3c 73 70 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">............
f06a0 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .minor.=.<span.class="tok-number
f06c0 22 3e 33 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">33</span>,</span>.<span.class=
f06e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 "line">.............patch.=.<spa
f0700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f n.class="tok-number">0</span>,</
f0720 73 70 61 6e 3e 0a 3c 73 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">.......
f0740 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .},</span>.<span.class="line">..
f0760 20 20 7d 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 ..}},</span>.<span.class="line">
f0780 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
f07a0 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
f07c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 an.class="tok-kw">const</span>.t
f07e0 61 72 67 65 74 20 3d 20 73 74 64 2e 54 61 72 67 65 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e arget.=.std.Target{</span>.<span
f0800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 63 70 75 20 3d 20 63 70 75 2c 3c 2f 73 .class="line">.....cpu.=.cpu,</s
f0820 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6f 73 20 pan>.<span.class="line">.....os.
f0840 3d 20 6f 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e =.os,</span>.<span.class="line">
f0860 20 20 20 20 2e 61 62 69 20 3d 20 61 62 69 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .....abi.=.abi,</span>.<span.cla
f0880 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=
f08a0 22 6c 69 6e 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<
f08c0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>.<span.class="tok-kw">cons
f08e0 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 20 3d 20 73 74 64 2e 54 61 72 t</span>.object_format.=.std.Tar
f0900 67 65 74 2e 4f 62 6a 65 63 74 46 6f 72 6d 61 74 2e 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 get.ObjectFormat.elf;</span>.<sp
f0920 61 6e 20 63 6c 61 73 73 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
f0940 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
f0960 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 -kw">const</span>.mode.=.std.bui
f0980 6c 74 69 6e 2e 4d 6f 64 65 2e 44 65 62 75 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ltin.Mode.Debug;</span>.<span.cl
f09a0 61 73 73 3d 22 6c 69 6e 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">
f09c0 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">
f09e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d 20 3c 73 70 61 6e 20 63 const</span>.link_libc.=.<span.c
f0a00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 lass="tok-null">false</span>;</s
f0a20 70 61 6e 3e 0a 3c 73 70 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
f0a40 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
f0a60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c ass="tok-kw">const</span>.link_l
f0a80 69 62 63 70 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 ibcpp.=.<span.class="tok-null">f
f0aa0 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 3d alse</span>;</span>.<span.class=
f0ac0 22 6c 69 6e 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<
f0ae0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>.<span.class="tok-kw">cons
f0b00 74 3c 2f 73 70 61 6e 3e 20 68 61 76 65 5f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 69 t</span>.have_error_return_traci
f0b20 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 ng.=.<span.class="tok-null">true
f0b40 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
f0b60 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
f0b80 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 n>.<span.class="tok-kw">const</s
f0ba0 70 61 6e 3e 20 76 61 6c 67 72 69 6e 64 5f 73 75 70 70 6f 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c pan>.valgrind_support.=.<span.cl
f0bc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ass="tok-null">true</span>;</spa
f0be0 6e 3e 0a 3c 73 70 61 6e 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
f0c00 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
f0c20 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 69 74 69 6f 6e s="tok-kw">const</span>.position
f0c40 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 63 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d _independent_code.=.<span.class=
f0c60 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 61 6e 3e 0a "tok-null">false</span>;</span>.
f0c80 3c 73 70 61 6e 20 63 6c 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="
f0ca0 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="
f0cc0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 73 69 74 69 6f 6e 5f 69 6e tok-kw">const</span>.position_in
f0ce0 64 65 70 65 6e 64 65 6e 74 5f 65 78 65 63 75 74 61 62 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 dependent_executable.=.<span.cla
f0d00 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 61 ss="tok-null">false</span>;</spa
f0d20 6e 3e 0a 3c 73 70 61 6e 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
f0d40 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
f0d60 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 72 69 70 5f 64 65 s="tok-kw">const</span>.strip_de
f0d80 62 75 67 5f 69 6e 66 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c bug_info.=.<span.class="tok-null
f0da0 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
f0dc0 73 73 3d 22 6c 69 6e 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
f0de0 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ub</span>.<span.class="tok-kw">c
f0e00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 20 3d 20 73 74 64 2e 62 75 69 onst</span>.code_model.=.std.bui
f0e20 6c 74 69 6e 2e 43 6f 64 65 4d 6f 64 65 6c 2e 64 65 66 61 75 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f ltin.CodeModel.default;</span></
f0e40 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 code></pre></figure>.......<p>Se
f0e60 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 42 75 e.also:</p><ul>.<li><a.href="#Bu
f0e80 69 6c 64 2d 4d 6f 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 2f ild-Mode">Build.Mode</a></li>.</
f0ea0 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 52 6f 6f 74 2d 53 ul>...............<h2.id="Root-S
f0ec0 6f 75 72 63 65 2d 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 ource-File"><a.href="nav.xhtml#t
f0ee0 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 oc-Root-Source-File">Root.Source
f0f00 20 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 .File</a>.<a.class="hdr".href="#
f0f20 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 Root-Source-File">..</a></h2>...
f0f40 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 65 78 70 6c 61 69 6e 20 68 6f 77 20 72 6f 6f 74 20 73 .....<p>TODO:.explain.how.root.s
f0f60 6f 75 72 63 65 20 66 69 6c 65 20 66 69 6e 64 73 20 6f 74 68 65 72 20 66 69 6c 65 73 3c 2f 70 3e ource.file.finds.other.files</p>
f0f80 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 70 75 62 20 66 6e 20 6d 61 69 6e 3c 2f 70 3e 0a .......<p>TODO:.pub.fn.main</p>.
f0fa0 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 70 75 62 20 66 6e 20 70 61 6e 69 63 3c 2f 70 3e 0a ......<p>TODO:.pub.fn.panic</p>.
f0fc0 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 69 66 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 6c ......<p>TODO:.if.linking.with.l
f0fe0 69 62 63 20 79 6f 75 20 63 61 6e 20 75 73 65 20 65 78 70 6f 72 74 20 66 6e 20 6d 61 69 6e 3c 2f ibc.you.can.use.export.fn.main</
f1000 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 6f 72 64 65 72 20 69 6e 64 65 70 65 6e 64 p>.......<p>TODO:.order.independ
f1020 65 6e 74 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 70 3e 0a 20 ent.top.level.declarations</p>..
f1040 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 6c 61 7a 79 20 61 6e 61 6c 79 73 69 73 3c 2f 70 3e 0a .....<p>TODO:.lazy.analysis</p>.
f1060 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 75 73 69 6e 67 20 63 6f 6d 70 74 69 6d 65 20 7b 20 ......<p>TODO:.using.comptime.{.
f1080 5f 20 3d 20 40 69 6d 70 6f 72 74 28 29 20 7d 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 _.=.@import().}</p>.............
f10a0 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 3c 61 20 68 72 .<h2.id="Zig-Build-System"><a.hr
f10c0 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 ef="nav.xhtml#toc-Zig-Build-Syst
f10e0 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 em">Zig.Build.System</a>.<a.clas
f1100 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 s="hdr".href="#Zig-Build-System"
f1120 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 >..</a></h2>........<p>.......Th
f1140 65 20 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 20 70 72 6f 76 69 64 65 73 20 61 20 63 72 e.Zig.Build.System.provides.a.cr
f1160 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 2c 20 64 65 70 65 6e 64 65 6e 63 79 2d 66 72 65 65 20 77 61 oss-platform,.dependency-free.wa
f1180 79 20 74 6f 20 64 65 63 6c 61 72 65 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 67 69 63 20 72 65 71 y.to.declare.......the.logic.req
f11a0 75 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20 61 20 70 72 6f 6a 65 63 74 2e 20 57 69 74 68 20 74 uired.to.build.a.project..With.t
f11c0 68 69 73 20 73 79 73 74 65 6d 2c 20 74 68 65 20 6c 6f 67 69 63 20 74 6f 20 62 75 69 6c 64 0a 20 his.system,.the.logic.to.build..
f11e0 20 20 20 20 20 61 20 70 72 6f 6a 65 63 74 20 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 61 20 62 .....a.project.is.written.in.a.b
f1200 75 69 6c 64 2e 7a 69 67 20 66 69 6c 65 2c 20 75 73 69 6e 67 20 74 68 65 20 5a 69 67 20 42 75 69 uild.zig.file,.using.the.Zig.Bui
f1220 6c 64 20 53 79 73 74 65 6d 20 41 50 49 20 74 6f 0a 20 20 20 20 20 20 64 65 63 6c 61 72 65 20 61 ld.System.API.to.......declare.a
f1240 6e 64 20 63 6f 6e 66 69 67 75 72 65 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 61 6e 64 nd.configure.build.artifacts.and
f1260 20 6f 74 68 65 72 20 74 61 73 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .other.tasks........</p>.......<
f1280 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 74 61 73 6b 73 20 p>.......Some.examples.of.tasks.
f12a0 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d 20 63 61 6e 20 68 65 6c 70 20 77 69 74 68 3a 0a the.build.system.can.help.with:.
f12c0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c ......</p>.......<ul>.........<l
f12e0 69 3e 43 72 65 61 74 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 62 79 20 65 78 i>Creating.build.artifacts.by.ex
f1300 65 63 75 74 69 6e 67 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 2e 20 54 68 69 73 20 69 ecuting.the.Zig.compiler..This.i
f1320 6e 63 6c 75 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 69 6e 67 20 5a 69 67 20 73 ncludes...........building.Zig.s
f1340 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 77 65 6c 6c 20 61 73 20 43 20 61 6e 64 20 43 2b 2b 20 ource.code.as.well.as.C.and.C++.
f1360 73 6f 75 72 63 65 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 source.code.</li>.........<li>Ca
f1380 70 74 75 72 69 6e 67 20 75 73 65 72 2d 63 6f 6e 66 69 67 75 72 65 64 20 6f 70 74 69 6f 6e 73 20 pturing.user-configured.options.
f13a0 61 6e 64 20 75 73 69 6e 67 20 74 68 6f 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 63 6f 6e 66 69 and.using.those.options.to.confi
f13c0 67 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 62 75 69 6c 64 2e 3c 2f 6c 69 3e 0a 20 gure...........the.build.</li>..
f13e0 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 72 66 61 63 69 6e 67 20 62 75 69 6c 64 20 63 6f 6e 66 69 .......<li>Surfacing.build.confi
f1400 67 75 72 61 74 69 6f 6e 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e guration.as.<a.href="#comptime">
f1420 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 76 61 6c 75 65 73 20 62 79 20 70 72 6f 76 69 64 69 6e 67 comptime</a>.values.by.providing
f1440 20 61 0a 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 3c 61 .a...........file.that.can.be.<a
f1460 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 69 6d 70 6f 72 74 65 64 3c 2f 61 3e 20 62 79 20 .href="#import">imported</a>.by.
f1480 5a 69 67 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 63 68 69 Zig.code.</li>.........<li>Cachi
f14a0 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 74 6f 20 61 76 6f 69 64 20 75 6e 6e 65 ng.build.artifacts.to.avoid.unne
f14c0 63 65 73 73 61 72 69 6c 79 20 72 65 70 65 61 74 69 6e 67 20 73 74 65 70 73 2e 3c 2f 6c 69 3e 0a cessarily.repeating.steps.</li>.
f14e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 78 65 63 75 74 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 ........<li>Executing.build.arti
f1500 66 61 63 74 73 20 6f 72 20 73 79 73 74 65 6d 2d 69 6e 73 74 61 6c 6c 65 64 20 74 6f 6f 6c 73 2e facts.or.system-installed.tools.
f1520 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e 67 20 74 65 73 74 73 20 </li>.........<li>Running.tests.
f1540 61 6e 64 20 76 65 72 69 66 79 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 65 78 65 63 and.verifying.the.output.of.exec
f1560 75 74 69 6e 67 20 61 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 20 6d 61 74 63 68 65 73 0a 20 uting.a.build.artifact.matches..
f1580 20 20 20 20 20 20 20 74 68 65 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a .......the.expected.value.</li>.
f15a0 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e 67 20 3c 63 6f 64 65 3e 7a 69 67 20 66 6d ........<li>Running.<code>zig.fm
f15c0 74 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 63 6f 64 65 62 61 73 65 20 6f 72 20 61 20 73 75 62 73 t</code>.on.a.codebase.or.a.subs
f15e0 65 74 20 6f 66 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 75 73 74 6f et.of.it.</li>.........<li>Custo
f1600 6d 20 74 61 73 6b 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 m.tasks.</li>.......</ul>.......
f1620 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 75 73 65 20 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 <p>.......To.use.the.build.syste
f1640 6d 2c 20 72 75 6e 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 20 2d 2d 68 65 6c 70 3c 2f 6b 62 m,.run.<kbd>zig.build.--help</kb
f1660 64 3e 0a 20 20 20 20 20 20 74 6f 20 73 65 65 20 61 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 75 d>.......to.see.a.command-line.u
f1680 73 61 67 65 20 68 65 6c 70 20 6d 65 6e 75 2e 20 54 68 69 73 20 77 69 6c 6c 20 69 6e 63 6c 75 64 sage.help.menu..This.will.includ
f16a0 65 20 70 72 6f 6a 65 63 74 2d 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 e.project-specific.......options
f16c0 20 74 68 61 74 20 77 65 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 .that.were.declared.in.the.build
f16e0 2e 7a 69 67 20 73 63 72 69 70 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c .zig.script........</p>........<
f1700 68 33 20 69 64 3d 22 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 3c h3.id="Building-an-Executable"><
f1720 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 a.href="nav.xhtml#toc-Building-a
f1740 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 42 75 69 6c 64 69 6e 67 20 61 6e 20 45 78 65 63 75 74 n-Executable">Building.an.Execut
f1760 61 62 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 42 able</a>.<a.class="hdr".href="#B
f1780 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 uilding-an-Executable">..</a></h
f17a0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 3>........<p>This.<code.class="f
f17c0 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 20 69 73 20 61 75 ile">build.zig</code>.file.is.au
f17e0 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 62 79 tomatically.generated.........by
f1800 20 3c 6b 62 64 3e 7a 69 67 20 69 6e 69 74 2d 65 78 65 3c 2f 6b 62 64 3e 2e 3c 2f 70 3e 0a 20 20 .<kbd>zig.init-exe</kbd>.</p>...
f1820 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
f1840 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 ig-cap"><cite.class="file">build
f1860 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
f1880 64 65 3e 3c 73 70 61 6e 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
f18a0 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 64 65 72 20 s="tok-kw">const</span>.Builder.
f18c0 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
f18e0 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"
f1900 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 6c 64 2e 42 >&quot;std&quot;</span>).build.B
f1920 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 6c 69 6e 65 uilder;</span>.<span.class="line
f1940 22 3e 3c 2f 73 70 61 6e 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
f1960 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
f1980 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
f19a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a n.class="tok-fn">build</span>(b:
f19c0 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 74 79 70 65 .*Builder).<span.class="tok-type
f19e0 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
f1a00 73 73 3d 22 6c 69 6e 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
f1a20 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 61 6e 64 61 72 64 20 74 61 72 67 65 74 20 6f 70 74 69 6f omment">//.Standard.target.optio
f1a40 6e 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 70 65 72 73 6f 6e 20 72 75 6e 6e 69 6e 67 20 60 7a 69 ns.allows.the.person.running.`zi
f1a60 67 20 62 75 69 6c 64 60 20 74 6f 20 63 68 6f 6f 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e g.build`.to.choose</span></span>
f1a80 0a 3c 73 70 61 6e 20 63 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
f1aa0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 68 61 74 20 74 61 72 67 65 74 ass="tok-comment">//.what.target
f1ac0 20 74 6f 20 62 75 69 6c 64 20 66 6f 72 2e 20 48 65 72 65 20 77 65 20 64 6f 20 6e 6f 74 20 6f 76 .to.build.for..Here.we.do.not.ov
f1ae0 65 72 72 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74 73 2c 20 77 68 69 63 68 3c 2f 73 70 61 6e erride.the.defaults,.which</span
f1b00 3e 3c 2f 73 70 61 6e 3e 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">....
f1b20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 61 <span.class="tok-comment">//.mea
f1b40 6e 73 20 61 6e 79 20 74 61 72 67 65 74 20 69 73 20 61 6c 6c 6f 77 65 64 2c 20 61 6e 64 20 74 68 ns.any.target.is.allowed,.and.th
f1b60 65 20 64 65 66 61 75 6c 74 20 69 73 20 6e 61 74 69 76 65 2e 20 4f 74 68 65 72 20 6f 70 74 69 6f e.default.is.native..Other.optio
f1b80 6e 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 ns</span></span>.<span.class="li
f1ba0 6e 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
f1bc0 22 3e 2f 2f 20 66 6f 72 20 72 65 73 74 72 69 63 74 69 6e 67 20 73 75 70 70 6f 72 74 65 64 20 74 ">//.for.restricting.supported.t
f1be0 61 72 67 65 74 20 73 65 74 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 3c arget.set.are.available.</span><
f1c00 2f 73 70 61 6e 3e 0a 3c 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
f1c20 70 61 6e 20 63 6c 61 73 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>.
f1c40 74 61 72 67 65 74 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 54 61 72 67 65 74 4f 70 74 69 6f 6e 73 target.=.b.standardTargetOptions
f1c60 28 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"
f1c80 3e 3c 2f 73 70 61 6e 3e 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">....
f1ca0 3c 73 70 61 6e 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 <span.class="tok-comment">//.Sta
f1cc0 6e 64 61 72 64 20 72 65 6c 65 61 73 65 20 6f 70 74 69 6f 6e 73 20 61 6c 6c 6f 77 20 74 68 65 20 ndard.release.options.allow.the.
f1ce0 70 65 72 73 6f 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 73 65 person.running.`zig.build`.to.se
f1d00 6c 65 63 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 lect</span></span>.<span.class="
f1d20 6c 69 6e 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
f1d40 6e 74 22 3e 2f 2f 20 62 65 74 77 65 65 6e 20 44 65 62 75 67 2c 20 52 65 6c 65 61 73 65 53 61 66 nt">//.between.Debug,.ReleaseSaf
f1d60 65 2c 20 52 65 6c 65 61 73 65 46 61 73 74 2c 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c e,.ReleaseFast,.and.ReleaseSmall
f1d80 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
f1da0 65 22 3e 20 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
f1dc0 74 3c 2f 73 70 61 6e 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 t</span>.mode.=.b.standardReleas
f1de0 65 4f 70 74 69 6f 6e 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 eOptions();</span>.<span.class="
f1e00 6c 69 6e 65 22 3e 3c 2f 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"
f1e20 3e 20 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<
f1e40 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
f1e60 61 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 65 an.class="tok-str">&quot;example
f1e80 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d &quot;</span>,.<span.class="tok-
f1ea0 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 73 str">&quot;src/main.zig&quot;</s
f1ec0 70 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"
f1ee0 3e 20 20 20 20 65 78 65 2e 73 65 74 54 61 72 67 65 74 28 74 61 72 67 65 74 29 3b 3c 2f 73 70 61 >....exe.setTarget(target);</spa
f1f00 6e 3e 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 73 65 n>.<span.class="line">....exe.se
f1f20 74 42 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 tBuildMode(mode);</span>.<span.c
f1f40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f lass="line">....exe.install();</
f1f60 73 70 61 6e 3e 0a 3c 73 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>
f1f80 0a 3c 73 70 61 6e 20 63 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
f1fa0 61 73 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 75 6e 5f 63 6d ass="tok-kw">const</span>.run_cm
f1fc0 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 d.=.exe.run();</span>.<span.clas
f1fe0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e 5f 63 6d 64 2e 73 74 65 70 2e 64 65 70 65 6e 64 s="line">....run_cmd.step.depend
f2000 4f 6e 28 62 2e 67 65 74 49 6e 73 74 61 6c 6c 53 74 65 70 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c On(b.getInstallStep());</span>.<
f2020 73 70 61 6e 20 63 6c 61 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
f2040 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 2e 61 72 67 73 29 20 7c 61 s="tok-kw">if</span>.(b.args).|a
f2060 72 67 73 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 rgs|.{</span>.<span.class="line"
f2080 3e 20 20 20 20 20 20 20 20 72 75 6e 5f 63 6d 64 2e 61 64 64 41 72 67 73 28 61 72 67 73 29 3b 3c >........run_cmd.addArgs(args);<
f20a0 2f 73 70 61 6e 3e 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">....}<
f20c0 2f 73 70 61 6e 3e 0a 3c 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
f20e0 3e 0a 3c 73 70 61 6e 20 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
f2100 6c 61 73 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 75 6e 5f 73 lass="tok-kw">const</span>.run_s
f2120 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 tep.=.b.step(<span.class="tok-st
f2140 72 22 3e 26 71 75 6f 74 3b 72 75 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e r">&quot;run&quot;</span>,.<span
f2160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 20 74 68 65 20 61 .class="tok-str">&quot;Run.the.a
f2180 70 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pp&quot;</span>);</span>.<span.c
f21a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f lass="line">....run_step.dependO
f21c0 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 3c 73 70 n(&amp;run_cmd.step);</span>.<sp
f21e0 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><
f2200 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
f2220 20 69 64 3d 22 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 .id="Building-a-Library"><a.href
f2240 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 ="nav.xhtml#toc-Building-a-Libra
f2260 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 61 20 63 6c ry">Building.a.Library</a>.<a.cl
f2280 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 4c 69 62 72 ass="hdr".href="#Building-a-Libr
f22a0 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 68 69 73 20 ary">..</a></h3>........<p>This.
f22c0 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 6f <code.class="file">build.zig</co
f22e0 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 6e 65 72 61 de>.file.is.automatically.genera
f2300 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 2d 6c 69 62 ted.........by.<kbd>zig.init-lib
f2320 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 69 67 63 61 </kbd>.</p>.......<figure><figca
f2340 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
f2360 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 s="file">build.zig</cite></figca
f2380 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
f23a0 6e 65 22 3e 3c 73 70 61 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</
f23c0 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 22 74 6f 6b span>.Builder.=.<span.class="tok
f23e0 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
f2400 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;</
f2420 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 0a 3c 73 70 span>).build.Builder;</span>.<sp
f2440 61 6e 20 63 6c 61 73 73 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
f2460 61 73 73 3d 22 6c 69 6e 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">
f2480 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">
f24a0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 fn</span>.<span.class="tok-fn">b
f24c0 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 61 6e 20 63 uild</span>(b:.*Builder).<span.c
f24e0 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
f2500 70 61 6e 3e 0a 3c 73 70 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
f2520 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.mo
f2540 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 73 28 29 3b de.=.b.standardReleaseOptions();
f2560 3c 2f 73 70 61 6e 3e 0a 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">....<
f2580 73 70 61 6e 20 63 6c 61 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>
f25a0 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 70 61 6e 20 .lib.=.b.addStaticLibrary(<span.
f25c0 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 65 26 71 75 class="tok-str">&quot;example&qu
f25e0 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ot;</span>,.<span.class="tok-str
f2600 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ">&quot;src/main.zig&quot;</span
f2620 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">..
f2640 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 70 61 6e 3e ..lib.setBuildMode(mode);</span>
f2660 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 69 6e 73 74 .<span.class="line">....lib.inst
f2680 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 69 6e 65 22 all();</span>.<span.class="line"
f26a0 3e 3c 2f 73 70 61 6e 3e 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">....
f26c0 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>.
f26e0 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 20 63 6c 61 main_tests.=.b.addTest(<span.cla
f2700 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 ss="tok-str">&quot;src/main.zig&
f2720 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
f2740 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 75 69 6c 64 s="line">....main_tests.setBuild
f2760 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 73 73 3d 22 Mode(mode);</span>.<span.class="
f2780 6c 69 6e 65 22 3e 3c 2f 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"
f27a0 3e 20 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<
f27c0 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 70 61 6e 20 /span>.test_step.=.b.step(<span.
f27e0 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 6f 74 3b class="tok-str">&quot;test&quot;
f2800 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">&
f2820 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 3c 2f 73 70 quot;Run.library.tests&quot;</sp
f2840 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">
f2860 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 6d 61 69 6e ....test_step.dependOn(&amp;main
f2880 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 6c 61 73 73 _tests.step);</span>.<span.class
f28a0 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
f28c0 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 43 6f 6d igure>...............<h3.id="Com
f28e0 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 66 3d 22 6e piling-C-Source-Code"><a.href="n
f2900 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d av.xhtml#toc-Compiling-C-Source-
f2920 43 6f 64 65 22 3e 43 6f 6d 70 69 6c 69 6e 67 20 43 20 53 6f 75 72 63 65 20 43 6f 64 65 3c 2f 61 Code">Compiling.C.Source.Code</a
f2940 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 69 6e >.<a.class="hdr".href="#Compilin
f2960 67 2d 43 2d 53 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 g-C-Source-Code">..</a></h3>....
f2980 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
f29a0 22 3e 6c 69 62 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 ">lib.addCSourceFile(<span.class
f29c0 3d 22 74 6f 6b 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 ="tok-str">&quot;src/lib.c&quot;
f29e0 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>,.&amp;[_][]<span.class="
f2a00 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
f2a20 3d 22 74 6f 6b 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 ="tok-type">u8</span>{</span>.<s
f2a40 70 61 6e 20 63 6c 61 73 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
f2a60 3d 22 74 6f 6b 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 ="tok-str">&quot;-Wall&quot;</sp
f2a80 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">.
f2aa0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d ...<span.class="tok-str">&quot;-
f2ac0 57 65 78 74 72 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 Wextra&quot;</span>,</span>.<spa
f2ae0 6e 20 63 6c 61 73 73 3d 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="
f2b00 74 6f 6b 2d 73 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 tok-str">&quot;-Werror&quot;</sp
f2b20 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">}
f2b40 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 0a 20 );</span></code></pre>..........
f2b60 20 20 20 20 20 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 ............<h2.id="C"><a.href="
f2b80 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 22 3e 43 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d nav.xhtml#toc-C">C</a>.<a.class=
f2ba0 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 "hdr".href="#C">..</a></h2>.....
f2bc0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 69 73 20 69 6e 64 ...<p>.......Although.Zig.is.ind
f2be0 65 70 65 6e 64 65 6e 74 20 6f 66 20 43 2c 20 61 6e 64 2c 20 75 6e 6c 69 6b 65 20 6d 6f 73 74 20 ependent.of.C,.and,.unlike.most.
f2c00 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 2c 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 other.languages,.does.not.depend
f2c20 20 6f 6e 20 6c 69 62 63 2c 0a 20 20 20 20 20 20 5a 69 67 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 .on.libc,.......Zig.acknowledges
f2c40 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 66 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 .the.importance.of.interacting.w
f2c60 69 74 68 20 65 78 69 73 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ith.existing.C.code........</p>.
f2c80 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 ......<p>.......There.are.a.few.
f2ca0 77 61 79 73 20 74 68 61 74 20 5a 69 67 20 66 61 63 69 6c 69 74 61 74 65 73 20 43 20 69 6e 74 65 ways.that.Zig.facilitates.C.inte
f2cc0 72 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d rop........</p>.......<h3.id="C-
f2ce0 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 Type-Primitives"><a.href="nav.xh
f2d00 74 6d 6c 23 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 tml#toc-C-Type-Primitives">C.Typ
f2d20 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 e.Primitives</a>.<a.class="hdr".
f2d40 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e c2 a7 3c 2f 61 3e href="#C-Type-Primitives">..</a>
f2d60 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 68 61 76 </h3>........<p>.......These.hav
f2d80 65 20 67 75 61 72 61 6e 74 65 65 64 20 43 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 e.guaranteed.C.ABI.compatibility
f2da0 20 61 6e 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 .and.can.be.used.like.any.other.
f2dc0 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 type........</p>.......<ul>.....
f2de0 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
f2e00 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 e"><span.class="tok-type">c_shor
f2e20 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 0a 20 20 20 20 t</span></span></code></li>.....
f2e40 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
f2e60 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f e"><span.class="tok-type">c_usho
f2e80 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 6c 69 3e 0a 20 20 20 rt</span></span></code></li>....
f2ea0 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
f2ec0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 ne"><span.class="tok-type">c_int
f2ee0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 </span></span></code></li>......
f2f00 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
f2f20 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c "><span.class="tok-type">c_uint<
f2f40 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>.......
f2f60 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"
f2f80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f ><span.class="tok-type">c_long</
f2fa0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 span></span></code></li>........
f2fc0 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...<li><code><span.class="line">
f2fe0 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 6c 6f 6e 67 3c 2f <span.class="tok-type">c_ulong</
f3000 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 span></span></code></li>........
f3020 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...<li><code><span.class="line">
f3040 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 6c 6f 6e <span.class="tok-type">c_longlon
f3060 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 3e 0a 20 20 20 20 g</span></span></code></li>.....
f3080 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
f30a0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e e"><span.class="tok-type">c_ulon
f30c0 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 6c 69 3e 0a glong</span></span></code></li>.
f30e0 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=
f3100 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f "line"><span.class="tok-type">c_
f3120 6c 6f 6e 67 64 6f 75 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 longdouble</span></span></code><
f3140 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
f3160 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="line">c_void</span></code>
f3180 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 </li>.......</ul>.......<p>See.a
f31a0 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 72 69 6d 69 lso:</p><ul>.<li><a.href="#Primi
f31c0 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 65 73 3c 2f 61 3e 3c tive-Types">Primitive.Types</a><
f31e0 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=
f3200 22 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 3c 61 20 68 "Import-from-C-Header-File"><a.h
f3220 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 ref="nav.xhtml#toc-Import-from-C
f3240 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 -Header-File">Import.from.C.Head
f3260 65 72 20 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d er.File</a>.<a.class="hdr".href=
f3280 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 c2 a7 3c "#Import-from-C-Header-File">..<
f32a0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 /a></h3>........<p>.......The.<c
f32c0 6f 64 65 3e 3c 73 70 61 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
f32e0 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 3e ss="tok-builtin">@cImport</span>
f3300 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 </span></code>.builtin.function.
f3320 63 61 6e 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 64 69 72 65 63 74 6c 79 20 69 6d can.be.used.......to.directly.im
f3340 70 6f 72 74 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 port.symbols.from.<code.class="f
f3360 69 6c 65 22 3e 2e 68 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e ile">.h</code>.files:.......</p>
f3380 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
f33a0 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
f33c0 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><
f33e0 63 6f 64 65 3e 3c 73 70 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
f3400 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 ass="tok-kw">const</span>.c.=.<s
f3420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 pan.class="tok-builtin">@cImport
f3440 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>({</span>.<span.class="li
f3460 6e 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
f3480 22 3e 2f 2f 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c ">//.See.https://github.com/zigl
f34a0 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 35 31 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ang/zig/issues/515</span></span>
f34c0 0a 3c 73 70 61 6e 20 63 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
f34e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e ass="tok-builtin">@cDefine</span
f3500 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 4e >(<span.class="tok-str">&quot;_N
f3520 4f 5f 43 52 54 5f 53 54 44 49 4f 5f 49 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c O_CRT_STDIO_INLINE&quot;</span>,
f3540 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 26 71 .<span.class="tok-str">&quot;1&q
f3560 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
f3580 3d 22 6c 69 6e 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
f35a0 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ltin">@cInclude</span>(<span.cla
f35c0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 69 6f 2e 68 26 71 75 6f 74 3b ss="tok-str">&quot;stdio.h&quot;
f35e0 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
f3600 6e 65 22 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 ne">});</span>.<span.class="line
f3620 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
f3640 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>
f3660 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
f3680 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<
f36a0 2f 73 70 61 6e 3e 20 7b 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
f36c0 65 22 3e 20 20 20 20 5f 20 3d 20 63 2e 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">...._.=.c.printf(<span.class=
f36e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 5c 6e 26 71 75 6f 74 3b 3c 2f 73 "tok-str">&quot;hello\n&quot;</s
f3700 70 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"
f3720 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><
f3740 66 69 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-
f3760 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
f3780 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.
f37a0 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 64 3e 3c 2f 73 70 build-exe.test.zig.-lc</kbd></sp
f37c0 61 6e 3e 0a 3c 73 70 61 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>.<
f37e0 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<
f3800 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">
f3820 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 2f 66 69 67 75 hello</span>.</samp></pre></figu
f3840 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 re>.......<p>.......The.<code><s
f3860 70 61 6e 20 63 6c 61 73 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
f3880 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
f38a0 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 6e 20 65 78 70 72 65 ></code>.function.takes.an.expre
f38c0 73 73 69 6f 6e 20 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 54 68 69 73 ssion.as.a.parameter........This
f38e0 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 .expression.is.evaluated.at.comp
f3900 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6e 74 72 6f 6c 0a ile-time.and.is.used.to.control.
f3920 20 20 20 20 20 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 69 72 65 63 74 69 76 65 73 20 61 6e ......preprocessor.directives.an
f3940 64 20 69 6e 63 6c 75 64 65 20 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 d.include.multiple.<code.class="
f3960 66 69 6c 65 22 3e 2e 68 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 file">.h</code>.files:.......</p
f3980 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
f39a0 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 40 s="zig-cap"><cite.class="file">@
f39c0 63 49 6d 70 6f 72 74 20 45 78 70 72 65 73 73 69 6f 6e 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 cImport.Expression</cite></figca
f39e0 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
f3a00 6e 65 22 3e 3c 73 70 61 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</
f3a20 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.builtin.=.<span.class="tok
f3a40 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
f3a60 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
f3a80 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="
f3aa0 6c 69 6e 65 22 3e 3c 2f 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"
f3ac0 3e 3c 73 70 61 6e 20 63 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
f3ae0 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 n>.c.=.<span.class="tok-builtin"
f3b00 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >@cImport</span>({</span>.<span.
f3b20 63 6c 61 73 73 3d 22 6c 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
f3b40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e k-builtin">@cDefine</span>(<span
f3b60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 44 45 42 55 47 26 71 75 .class="tok-str">&quot;NDEBUG&qu
f3b80 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 75 69 6c 74 69 6e 2e 6d 6f 64 65 20 3d 3d 20 2e 52 65 6c ot;</span>,.builtin.mode.==..Rel
f3ba0 65 61 73 65 46 61 73 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c easeFast);</span>.<span.class="l
f3bc0 69 6e 65 22 3e 20 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
f3be0 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 3c 73 70 </span>.(something).{</span>.<sp
f3c00 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
f3c20 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e ass="tok-builtin">@cDefine</span
f3c40 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 >(<span.class="tok-str">&quot;_G
f3c60 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 NU_SOURCE&quot;</span>,.{});</sp
f3c80 61 6e 3e 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
f3ca0 61 6e 3e 0a 3c 73 70 61 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
f3cc0 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 64 65 3c 2f .class="tok-builtin">@cInclude</
f3ce0 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
f3d00 74 3b 73 74 64 6c 69 62 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e t;stdlib.h&quot;</span>);</span>
f3d20 0a 3c 73 70 61 6e 20 63 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
f3d40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d 65 74 68 69 6e ass="tok-kw">if</span>.(somethin
f3d60 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 g).{</span>.<span.class="line">.
f3d80 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"
f3da0 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@cUndef</span>(<span.class="tok
f3dc0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 -str">&quot;_GNU_SOURCE&quot;</s
f3de0 70 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"
f3e00 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"
f3e20 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">@
f3e40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b cInclude</span>(<span.class="tok
f3e60 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 75 6e 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 -str">&quot;soundio.h&quot;</spa
f3e80 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">}
f3ea0 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a );</span></code></pre></figure>.
f3ec0 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><
f3ee0 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 2f 61 3e 3c 2f a.href="#cImport">@cImport</a></
f3f00 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e li>.<li><a.href="#cInclude">@cIn
f3f20 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 clude</a></li>.<li><a.href="#cDe
f3f40 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 fine">@cDefine</a></li>.<li><a.h
f3f60 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c ref="#cUndef">@cUndef</a></li>.<
f3f80 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 2f 61 3e li><a.href="#import">@import</a>
f3fa0 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
f3fc0 64 3d 22 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e 3c 61 20 68 72 65 66 3d 22 6e d="C-Translation-CLI"><a.href="n
f3fe0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e av.xhtml#toc-C-Translation-CLI">
f4000 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 C.Translation.CLI</a>.<a.class="
f4020 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e c2 hdr".href="#C-Translation-CLI">.
f4040 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 5a 69 67 27 73 20 43 20 74 72 61 6e 73 6c .</a></h3>........Zig's.C.transl
f4060 61 74 69 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 ation.capability.is.available.as
f4080 20 61 20 43 4c 49 20 74 6f 6f 6c 20 76 69 61 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 .a.CLI.tool.via.<kbd>zig.transla
f40a0 74 65 2d 63 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 20 49 74 20 72 65 71 75 69 72 65 73 20 61 20 te-c</kbd>........It.requires.a.
f40c0 73 69 6e 67 6c 65 20 66 69 6c 65 6e 61 6d 65 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 20 single.filename.as.an.argument..
f40e0 49 74 20 6d 61 79 20 61 6c 73 6f 20 74 61 6b 65 20 61 20 73 65 74 20 6f 66 20 6f 70 74 69 6f 6e It.may.also.take.a.set.of.option
f4100 61 6c 20 66 6c 61 67 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 20 66 6f 72 77 61 72 64 65 al.flags.that.are.......forwarde
f4120 64 20 74 6f 20 63 6c 61 6e 67 2e 20 49 74 20 77 72 69 74 65 73 20 74 68 65 20 74 72 61 6e 73 6c d.to.clang..It.writes.the.transl
f4140 61 74 65 64 20 66 69 6c 65 20 74 6f 20 73 74 64 6f 75 74 2e 0a 20 20 20 20 20 20 3c 68 34 20 69 ated.file.to.stdout........<h4.i
f4160 64 3d 22 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 3c 61 20 68 72 65 66 3d 22 d="Command-line-flags"><a.href="
f4180 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 nav.xhtml#toc-Command-line-flags
f41a0 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 61 73 ">Command.line.flags</a>.<a.clas
f41c0 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 61 67 s="hdr".href="#Command-line-flag
f41e0 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 20 20 s">..</a></h4>........<ul>......
f4200 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 3e 3a ...<li>...........<kbd>-I</kbd>:
f4220 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 72 65 ...........Specify.a.search.dire
f4240 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 65 20 ctory.for.include.files..May.be.
f4260 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 74 20 used.multiple.times..Equivalent.
f4280 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 72 65 to...........<a.href="https://re
f42a0 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 6c 61 leases.llvm.org/12.0.0/tools/cla
f42c0 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 6e 63 ng/docs/ClangCommandLineReferenc
f42e0 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 0a 20 e.html#cmdoption-clang-i-dir">..
f4300 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 20 66 .........clang's.<kbd>-I</kbd>.f
f4320 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 20 69 lag</a>..The.current.directory.i
f4340 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 61 75 s.<em>not</em>.included.by.defau
f4360 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 64 3e lt;...........use.<kbd>-I.</kbd>
f4380 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 20 20 .to.include.it..........</li>...
f43a0 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 6b 62 ......<li>...........<kbd>-D</kb
f43c0 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 6f 2e d>:.Define.a.preprocessor.macro.
f43e0 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 65 66 .Equivalent.to...........<a.href
f4400 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 2e 30 ="https://releases.llvm.org/12.0
f4420 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 6e 64 .0/tools/clang/docs/ClangCommand
f4440 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 6c 61 LineReference.html#cmdoption-cla
f4460 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 20 3c ng-d-macro">...........clang's.<
f4480 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 20 3c kbd>-D</kbd>.flag</a>..........<
f44a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 /li>.........<li>...........<kbd
f44c0 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 73 20 >-cflags.[flags].--</kbd>:.Pass.
f44e0 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 20 3c arbitrary.additional...........<
f4500 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 6f 72 a.href="https://releases.llvm.or
f4520 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 67 43 g/12.0.0/tools/clang/docs/ClangC
f4540 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 61 6e ommandLineReference.html">comman
f4560 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 63 6c d.line...........flags</a>.to.cl
f4580 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 75 73 ang..Note:.the.list.of.flags.mus
f45a0 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 20 20 t.end.with.<kbd>--</kbd>........
f45c0 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
f45e0 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 22 23 bd>-target</kbd>:.The.<a.href="#
f4600 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 20 74 Targets">target.triple</a>.for.t
f4620 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 20 20 he.translated.Zig.code..........
f4640 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 68 65 ..If.no.target.is.specified,.the
f4660 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 73 65 .current.host.target.will.be.use
f4680 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 20 20 d..........</li>.......</ul>....
f46a0 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 74 2d ..........<h4.id="Using--target-
f46c0 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 and--cflags"><a.href="nav.xhtml#
f46e0 74 6f 63 2d 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 55 toc-Using--target-and--cflags">U
f4700 73 69 6e 67 20 2d 74 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 sing.-target.and.-cflags</a>.<a.
f4720 63 6c 61 73 73 3d 22 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 class="hdr".href="#Using--target
f4740 2d 61 6e 64 2d 2d 63 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 -and--cflags">..</a></h4>.......
f4760 20 3c 70 3e 0a 20 20 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 .<p>.........<strong>Important!<
f4780 2f 73 74 72 6f 6e 67 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 /strong>.When.translating.C.code
f47a0 20 77 69 74 68 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 .with.<kbd>zig.translate-c</kbd>
f47c0 2c 0a 20 20 20 20 20 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 ,.........you.<strong>must</stro
f47e0 6e 67 3e 20 75 73 65 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 ng>.use.the.same.<kbd>-target</k
f4800 62 64 3e 20 74 72 69 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 bd>.triple.that.you.will.use.whe
f4820 6e 20 63 6f 6d 70 69 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 n.compiling.........the.translat
f4840 65 64 20 63 6f 64 65 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 ed.code..In.addition,.you.<stron
f4860 67 3e 6d 75 73 74 3c 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 g>must</strong>.ensure.that.the.
f4880 3c 6b 62 64 3e 2d 63 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 <kbd>-cflags</kbd>.used,........
f48a0 20 69 66 20 61 6e 79 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 .if.any,.match.the.cflags.used.b
f48c0 79 20 63 6f 64 65 20 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 y.code.on.the.target.system..Usi
f48e0 6e 67 20 74 68 65 20 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 ng.the.incorrect.<kbd>-target</k
f4900 62 64 3e 0a 20 20 20 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 bd>.........or.<kbd>-cflags</kbd
f4920 3e 20 63 6f 75 6c 64 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 >.could.result.in.clang.or.Zig.p
f4940 61 72 73 65 20 66 61 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 arse.failures,.or.subtle.ABI.inc
f4960 6f 6d 70 61 74 69 62 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 ompatibilities.........when.link
f4980 69 6e 67 20 77 69 74 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 ing.with.C.code........</p>.....
f49a0 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 ..<figure><figcaption.class="c-c
f49c0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 74 61 72 67 65 ap"><cite.class="file">varytarge
f49e0 74 2e 68 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 t.h</cite></figcaption><pre><cod
f4a00 65 3e 3c 73 70 61 6e 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 e><span.class="line">long.FOO.=.
f4a20 5f 5f 4c 4f 4e 47 5f 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 __LONG_MAX__;</span></code></pre
f4a40 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ></figure>.......<figure><figcap
f4a60 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
f4a80 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=
f4aa0 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
f4ac0 61 72 67 65 74 20 3c 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 arget.<em>thumb-freestanding-gnu
f4ae0 65 61 62 69 68 66 3c 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 eabihf</em>.varytarget.h|grep.FO
f4b00 4f 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 O</kbd></span>.<span.class="line
f4b20 22 3e 70 75 62 20 65 78 70 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 3c ">pub.export.var.FOO:.c_long.=.<
f4b40 65 6d 3e 32 31 34 37 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 em>2147483647</em>;</span>.<span
f4b60 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 6e 73 6c 61 .class="line">$.<kbd>zig.transla
f4b80 74 65 2d 63 20 2d 74 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 te-c.-target.<em>x86_64-macos-gn
f4ba0 75 3c 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 u</em>.varytarget.h|grep.FOO</kb
f4bc0 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 75 62 d></span>.<span.class="line">pub
f4be0 20 65 78 70 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 3c 65 6d 3e 39 32 .export.var.FOO:.c_long.=.<em>92
f4c00 32 33 33 37 32 30 33 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 23372036854775807</em>;</span>.<
f4c20 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 /samp></pre></figure>.......<fig
f4c40 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
f4c60 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 63 66 6c 61 67 73 2e 68 3c 2f 63 ite.class="file">varycflags.h</c
f4c80 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
f4ca0 6e 20 63 6c 61 73 73 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 n.class="line">enum.FOO.{.BAR.};
f4cc0 3c 2f 73 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 6e 74 20 64 </span>.<span.class="line">int.d
f4ce0 6f 5f 73 6f 6d 65 74 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 o_something(enum.FOO.foo);</span
f4d00 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 66 ></code></pre></figure>.......<f
f4d20 69 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
f4d40 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
f4d60 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
f4d80 72 61 6e 73 6c 61 74 65 2d 63 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 ranslate-c.varycflags.h|grep.-B1
f4da0 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
f4dc0 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
f4de0 20 3d 20 3c 65 6d 3e 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 .=.<em>c_uint</em>;</span>.<span
f4e00 20 63 6c 61 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 .class="line">pub.extern.fn.do_s
f4e20 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b 3c 2f omething(foo:.enum_FOO).c_int;</
f4e40 73 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>
f4e60 7a 69 67 20 74 72 61 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 zig.translate-c.<em>-cflags.-fsh
f4e80 6f 72 74 2d 65 6e 75 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 ort-enums.--</em>.varycflags.h|g
f4ea0 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e rep.-B1.do_something</kbd></span
f4ec0 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 63 6f 6e 73 74 20 65 >.<span.class="line">pub.const.e
f4ee0 6e 75 6d 5f 46 4f 4f 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 num_FOO.=.<em>u8</em>;</span>.<s
f4f00 70 61 6e 20 63 6c 61 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 pan.class="line">pub.extern.fn.d
f4f20 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 o_something(foo:.enum_FOO).c_int
f4f40 3b 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>.
f4f60 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 49 6d 70 6f 72 74 2d 76 73 2d .............<h4.id="cImport-vs-
f4f80 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 translate-c"><a.href="nav.xhtml#
f4fa0 74 6f 63 2d 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 toc-cImport-vs-translate-c">@cIm
f4fc0 70 6f 72 74 20 76 73 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 port.vs.translate-c</a>.<a.class
f4fe0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 ="hdr".href="#cImport-vs-transla
f5000 74 65 2d 63 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 te-c">..</a></h4>........<p><cod
f5020 65 3e 3c 73 70 61 6e 20 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
f5040 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f ="tok-builtin">@cImport</span></
f5060 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c span></code>.and.<kbd>zig.transl
f5080 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 75 6e 64 65 72 6c 79 ate-c</kbd>.use.the.same.underly
f50a0 69 6e 67 0a 20 20 20 20 20 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e ing.......C.translation.function
f50c0 61 6c 69 74 79 2c 20 73 6f 20 6f 6e 20 61 20 74 65 63 68 6e 69 63 61 6c 20 6c 65 76 65 6c 20 74 ality,.so.on.a.technical.level.t
f50e0 68 65 79 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 2e 20 49 6e 20 70 72 61 63 74 69 63 65 2c hey.are.equivalent..In.practice,
f5100 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">
f5120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f <span.class="tok-builtin">@cImpo
f5140 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 73 20 75 73 65 66 75 rt</span></span></code>.is.usefu
f5160 6c 20 61 73 20 61 20 77 61 79 20 74 6f 20 71 75 69 63 6b 6c 79 20 61 6e 64 20 65 61 73 69 6c 79 l.as.a.way.to.quickly.and.easily
f5180 20 61 63 63 65 73 73 20 6e 75 6d 65 72 69 63 20 63 6f 6e 73 74 61 6e 74 73 2c 20 74 79 70 65 64 .access.numeric.constants,.typed
f51a0 65 66 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 65 63 6f 72 64 20 74 79 70 65 73 20 77 69 74 68 efs,.......and.record.types.with
f51c0 6f 75 74 20 6e 65 65 64 69 6e 67 20 61 6e 79 20 65 78 74 72 61 20 73 65 74 75 70 2e 20 49 66 20 out.needing.any.extra.setup..If.
f51e0 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 61 73 73 20 3c 61 20 68 72 65 66 3d 22 23 55 73 69 6e 67 you.need.to.pass.<a.href="#Using
f5200 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 63 66 6c 61 67 73 3c 2f 61 3e --target-and--cflags">cflags</a>
f5220 0a 20 20 20 20 20 20 74 6f 20 63 6c 61 6e 67 2c 20 6f 72 20 69 66 20 79 6f 75 20 77 6f 75 6c 64 .......to.clang,.or.if.you.would
f5240 20 6c 69 6b 65 20 74 6f 20 65 64 69 74 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 .like.to.edit.the.translated.cod
f5260 65 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 0a 20 20 20 20 e,.it.is.recommended.to.use.....
f5280 20 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 61 6e 64 ..<kbd>zig.translate-c</kbd>.and
f52a0 20 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 73 20 74 6f 20 61 20 66 69 6c 65 2e 20 43 6f 6d .save.the.results.to.a.file..Com
f52c0 6d 6f 6e 20 72 65 61 73 6f 6e 73 20 66 6f 72 20 65 64 69 74 69 6e 67 0a 20 20 20 20 20 20 74 68 mon.reasons.for.editing.......th
f52e0 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 69 6e 63 6c 75 64 65 3a 20 63 68 61 6e 67 69 e.generated.code.include:.changi
f5300 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
f5320 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c n.class="tok-kw">anytype</span><
f5340 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 66 75 6e 63 /span></code>.parameters.in.func
f5360 74 69 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 20 74 6f 20 6d 6f 72 65 0a 20 20 20 20 20 20 73 tion-like.macros.to.more.......s
f5380 70 65 63 69 66 69 63 20 74 79 70 65 73 3b 20 63 68 61 6e 67 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 pecific.types;.changing.<code><s
f53a0 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 70 61 6e 3e 3c 2f 63 pan.class="line">[*c]T</span></c
f53c0 6f 64 65 3e 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ode>.pointers.to.<code><span.cla
f53e0 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 3e 20 6f 72 0a ss="line">[*]T</span></code>.or.
f5400 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 2a ......<code><span.class="line">*
f5420 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 66 6f 72 20 69 6d 70 T</span></code>.pointers.for.imp
f5440 72 6f 76 65 64 20 74 79 70 65 20 73 61 66 65 74 79 3b 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 roved.type.safety;.and.......<a.
f5460 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 65 6e 61 62 6c 69 6e href="#setRuntimeSafety">enablin
f5480 67 20 6f 72 20 64 69 73 61 62 6c 69 6e 67 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 3c 2f 61 g.or.disabling.runtime.safety</a
f54a0 3e 20 77 69 74 68 69 6e 20 73 70 65 63 69 66 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 >.within.specific.functions.....
f54c0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f ...</p>..............<p>See.also
f54e0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 :</p><ul>.<li><a.href="#Targets"
f5500 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 >Targets</a></li>.<li><a.href="#
f5520 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 C-Type-Primitives">C.Type.Primit
f5540 69 76 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e ives</a></li>.<li><a.href="#Poin
f5560 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 20 68 ters">Pointers</a></li>.<li><a.h
f5580 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e ref="#C-Pointers">C.Pointers</a>
f55a0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d </li>.<li><a.href="#Import-from-
f55c0 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 C-Header-File">Import.from.C.Hea
f55e0 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 der.File</a></li>.<li><a.href="#
f5600 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 cInclude">@cInclude</a></li>.<li
f5620 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e ><a.href="#cImport">@cImport</a>
f5640 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 </li>.<li><a.href="#setRuntimeSa
f5660 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 3c 2f 6c 69 3e fety">@setRuntimeSafety</a></li>
f5680 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 43 2d 54 .</ul>...............<h3.id="C-T
f56a0 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 ranslation-Caching"><a.href="nav
f56c0 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 .xhtml#toc-C-Translation-Caching
f56e0 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 68 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 ">C.Translation.Caching</a>.<a.c
f5700 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d lass="hdr".href="#C-Translation-
f5720 43 61 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a Caching">..</a></h3>........<p>.
f5740 20 20 20 20 20 20 20 20 54 68 65 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 66 65 61 74 75 72 ........The.C.translation.featur
f5760 65 20 28 77 68 65 74 68 65 72 20 75 73 65 64 20 76 69 61 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 e.(whether.used.via.<kbd>zig.tra
f5780 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e nslate-c</kbd>.or.........<code>
f57a0 3c 73 70 61 6e 20 63 6c 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="
f57c0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 tok-builtin">@cImport</span></sp
f57e0 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 6e 74 65 67 72 61 74 65 73 20 77 69 74 68 20 74 68 65 20 an></code>).integrates.with.the.
f5800 5a 69 67 20 63 61 63 68 69 6e 67 20 73 79 73 74 65 6d 2e 20 53 75 62 73 65 71 75 65 6e 74 20 72 Zig.caching.system..Subsequent.r
f5820 75 6e 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 73 6f 75 72 63 65 uns.with.........the.same.source
f5840 20 66 69 6c 65 2c 20 74 61 72 67 65 74 2c 20 61 6e 64 20 63 66 6c 61 67 73 20 77 69 6c 6c 20 75 .file,.target,.and.cflags.will.u
f5860 73 65 20 74 68 65 20 63 61 63 68 65 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 70 65 61 74 65 64 se.the.cache.instead.of.repeated
f5880 6c 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 ly.translating.........the.same.
f58a0 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 code........</p>.......<p>......
f58c0 20 20 20 54 6f 20 73 65 65 20 77 68 65 72 65 20 74 68 65 20 63 61 63 68 65 64 20 66 69 6c 65 73 ...To.see.where.the.cached.files
f58e0 20 61 72 65 20 73 74 6f 72 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65 20 .are.stored.when.compiling.code.
f5900 74 68 61 74 20 75 73 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e that.uses.<code><span.class="lin
f5920 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 e"><span.class="tok-builtin">@cI
f5940 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 mport</span></span></code>,.....
f5960 20 20 20 20 75 73 65 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 76 65 72 62 6f 73 65 2d 63 69 6d 70 6f ....use.the.<kbd>--verbose-cimpo
f5980 72 74 3c 2f 6b 62 64 3e 20 66 6c 61 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 rt</kbd>.flag:.......</p>.......
f59a0 3c 66 69 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
f59c0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 72 62 6f 73 65 2e 7a ap"><cite.class="file">verbose.z
f59e0 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
f5a00 3e 3c 73 70 61 6e 20 63 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=
f5a20 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 20 "tok-kw">const</span>.c.=.<span.
f5a40 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
f5a60 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 3e an>({</span>.<span.class="line">
f5a80 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
f5aa0 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 73 Define</span>(<span.class="tok-s
f5ac0 74 72 22 3e 26 71 75 6f 74 3b 5f 4e 4f 5f 43 52 54 5f 53 54 44 49 4f 5f 49 4e 4c 49 4e 45 26 71 tr">&quot;_NO_CRT_STDIO_INLINE&q
f5ae0 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
f5b00 72 22 3e 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e r">&quot;1&quot;</span>);</span>
f5b20 0a 3c 73 70 61 6e 20 63 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
f5b40 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 ass="tok-builtin">@cInclude</spa
f5b60 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
f5b80 74 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tdio.h&quot;</span>);</span>.<sp
f5ba0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e an.class="line">});</span>.<span
f5bc0 20 63 6c 61 73 73 3d 22 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
f5be0 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
f5c00 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
f5c20 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
f5c40 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
f5c60 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 3c 2f 73 70 61 6e 3e n.class="line">...._.=.c;</span>
f5c80 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
f5ca0 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
f5cc0 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
f5ce0 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
f5d00 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 76 65 72 ="line">$.<kbd>zig.build-exe.ver
f5d20 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 6d 70 6f 72 74 3c 2f bose.zig.-lc.--verbose-cimport</
f5d40 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 69 kbd></span>.<span.class="line">i
f5d60 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 74 20 73 6f 75 72 63 nfo(compilation):.C.import.sourc
f5d80 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 2f 30 38 36 65 63 35 e:.docgen_tmp/zig-cache/o/086ec5
f5da0 31 38 31 61 34 64 39 61 38 34 36 31 32 31 33 61 63 35 36 62 35 30 66 35 30 33 2f 63 69 6d 70 6f 181a4d9a8461213ac56b50f503/cimpo
f5dc0 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 6c 69 6e 65 22 3e 69 rt.h</span>.<span.class="line">i
f5de0 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 74 20 2e 64 20 66 69 nfo(compilation):.C.import..d.fi
f5e00 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 6f 2f 30 38 36 65 63 le:.docgen_tmp/zig-cache/o/086ec
f5e20 35 31 38 31 61 34 64 39 61 38 34 36 31 32 31 33 61 63 35 36 62 35 30 66 35 30 33 2f 63 69 6d 70 5181a4d9a8461213ac56b50f503/cimp
f5e40 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 73 3d 22 6c 69 6e 65 ort.h.d</span>.<span.class="line
f5e60 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 74 20 6f 75 ">info(compilation):.C.import.ou
f5e80 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 65 2f 6f 2f 31 30 32 tput:.docgen_tmp/zig-cache/o/102
f5ea0 31 33 37 37 31 32 30 36 36 64 37 37 36 30 38 65 63 33 36 38 30 39 32 66 61 39 38 64 36 2f 63 69 137712066d77608ec368092fa98d6/ci
f5ec0 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 61 73 73 3d 22 6c 69 mport.zig</span>.<span.class="li
f5ee0 6e 65 22 3e 3c 2f 73 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">$
f5f00 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 61 6e 3e 0a 3c 2f 73 .<kbd>./verbose</kbd></span>.</s
f5f20 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>...
f5f40 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 70 6f 72 74 ......<code.class="file">cimport
f5f60 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 6c 65 20 74 6f 20 74 .h</code>.contains.the.file.to.t
f5f80 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 6d 20 63 61 6c 6c 73 ranslate.(constructed.from.calls
f5fa0 20 74 6f 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .to.........<code><span.class="l
f5fc0 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">@
f5fe0 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 3e 2c 20 3c cInclude</span></span></code>,.<
f6000 63 6f 64 65 3e 3c 73 70 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
f6020 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e ass="tok-builtin">@cDefine</span
f6040 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 70 61 6e ></span></code>,.and.<code><span
f6060 20 63 6c 61 73 73 3d 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
f6080 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 3e 3c 2f 63 uiltin">@cUndef</span></span></c
f60a0 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 73 3d 22 66 69 6c 65 ode>),.........<code.class="file
f60c0 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 68 65 20 6c 69 73 74 ">cimport.h.d</code>.is.the.list
f60e0 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 64 0a 20 20 20 20 20 .of.file.dependencies,.and......
f6100 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 70 6f 72 74 2e 7a 69 ...<code.class="file">cimport.zi
f6120 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 6e 73 6c 61 74 65 64 g</code>.contains.the.translated
f6140 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 53 65 65 .output........</p>.......<p>See
f6160 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 49 6d 70 .also:</p><ul>.<li><a.href="#Imp
f6180 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 ort-from-C-Header-File">Import.f
f61a0 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c rom.C.Header.File</a></li>.<li><
f61c0 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 49 22 3e 43 20 54 72 a.href="#C-Translation-CLI">C.Tr
f61e0 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 69 3e 3c 61 20 68 72 anslation.CLI</a></li>.<li><a.hr
f6200 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 ef="#cInclude">@cInclude</a></li
f6220 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 >.<li><a.href="#cImport">@cImpor
f6240 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c t</a></li>.</ul>...............<
f6260 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 65 73 22 3e 3c 61 20 h3.id="Translation-failures"><a.
f6280 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d href="nav.xhtml#toc-Translation-
f62a0 66 61 69 6c 75 72 65 73 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f failures">Translation.failures</
f62c0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 72 61 6e 73 6c 61 a>.<a.class="hdr".href="#Transla
f62e0 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 tion-failures">..</a></h3>......
f6300 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 20 43 20 63 6f 6e 73 74 72 75 63 74 73 20 ..<p>.........Some.C.constructs.
f6320 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 20 2d 20 66 6f cannot.be.translated.to.Zig.-.fo
f6340 72 20 65 78 61 6d 70 6c 65 2c 20 3c 65 6d 3e 67 6f 74 6f 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 r.example,.<em>goto</em>,.......
f6360 20 20 73 74 72 75 63 74 73 20 77 69 74 68 20 62 69 74 66 69 65 6c 64 73 2c 20 61 6e 64 20 74 6f ..structs.with.bitfields,.and.to
f6380 6b 65 6e 2d 70 61 73 74 69 6e 67 20 6d 61 63 72 6f 73 2e 20 5a 69 67 20 65 6d 70 6c 6f 79 73 20 ken-pasting.macros..Zig.employs.
f63a0 3c 65 6d 3e 64 65 6d 6f 74 69 6f 6e 3c 2f 65 6d 3e 20 74 6f 20 61 6c 6c 6f 77 20 74 72 61 6e 73 <em>demotion</em>.to.allow.trans
f63c0 6c 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 69 6e 20 74 68 lation.........to.continue.in.th
f63e0 65 20 66 61 63 65 20 6f 66 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 e.face.of.non-translatable.entit
f6400 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ies........</p>.......<p>.......
f6420 20 20 44 65 6d 6f 74 69 6f 6e 20 63 6f 6d 65 73 20 69 6e 20 74 68 72 65 65 20 76 61 72 69 65 74 ..Demotion.comes.in.three.variet
f6440 69 65 73 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f ies.-.<a.href="#opaque">opaque</
f6460 61 3e 2c 20 3c 65 6d 3e 65 78 74 65 72 6e 3c 2f 65 6d 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 a>,.<em>extern</em>,.and........
f6480 20 3c 63 6f 64 65 3e 3c 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.
f64a0 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
f64c0 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 0a 20 20 20 20 20 20 20 r</span></span></code>..........
f64e0 20 43 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 6e 6f .C.structs.and.unions.that.canno
f6500 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 72 72 65 63 74 6c 79 20 77 69 6c 6c 20 62 t.be.translated.correctly.will.b
f6520 65 20 74 72 61 6e 73 6c 61 74 65 64 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 e.translated.as.<code><span.clas
f6540 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 s="line"><span.class="tok-kw">op
f6560 61 71 75 65 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 aque</span>{}</span></code>.....
f6580 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 6f 70 61 71 .....Functions.that.contain.opaq
f65a0 75 65 20 74 79 70 65 73 20 6f 72 20 63 6f 64 65 20 63 6f 6e 73 74 72 75 63 74 73 20 74 68 61 74 ue.types.or.code.constructs.that
f65c0 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 6c 6c 20 62 65 20 64 65 .cannot.be.translated.will.be.de
f65e0 6d 6f 74 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 moted.........to.<code><span.cla
f6600 73 73 3d 22 6c 69 6e 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
f6620 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 xtern</span></span></code>.decla
f6640 72 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 75 73 2c 20 6e 6f 6e 2d 74 72 61 6e rations...........Thus,.non-tran
f6660 73 6c 61 74 61 62 6c 65 20 74 79 70 65 73 20 63 61 6e 20 73 74 69 6c 6c 20 62 65 20 75 73 65 64 slatable.types.can.still.be.used
f6680 20 61 73 20 70 6f 69 6e 74 65 72 73 2c 20 61 6e 64 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 .as.pointers,.and.non-translatab
f66a0 6c 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 63 61 6c 6c le.functions.........can.be.call
f66c0 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 69 6e 6b 65 72 20 69 73 20 61 77 61 72 ed.so.long.as.the.linker.is.awar
f66e0 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 e.of.the.compiled.function......
f6700 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c ..</p>.......<p>.........<code><
f6720 73 70 61 6e 20 63 6c 61 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
f6740 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e ok-builtin">@compileError</span>
f6760 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 74 6f 70 2d </span></code>.is.used.when.top-
f6780 6c 65 76 65 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 level.definitions.(global.variab
f67a0 6c 65 73 2c 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79 70 65 73 les,.........function.prototypes
f67c0 2c 20 6d 61 63 72 6f 73 29 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 6f ,.macros).cannot.be.translated.o
f67e0 72 20 64 65 6d 6f 74 65 64 2e 20 53 69 6e 63 65 20 5a 69 67 20 75 73 65 73 20 6c 61 7a 79 20 61 r.demoted..Since.Zig.uses.lazy.a
f6800 6e 61 6c 79 73 69 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 nalysis.for.........top-level.de
f6820 63 6c 61 72 61 74 69 6f 6e 73 2c 20 75 6e 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 clarations,.untranslatable.entit
f6840 69 65 73 20 77 69 6c 6c 20 6e 6f 74 20 63 61 75 73 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ies.will.not.cause.a.compile.err
f6860 6f 72 20 69 6e 20 79 6f 75 72 20 63 6f 64 65 20 75 6e 6c 65 73 73 0a 20 20 20 20 20 20 20 20 79 or.in.your.code.unless.........y
f6880 6f 75 20 61 63 74 75 61 6c 6c 79 20 75 73 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ou.actually.use.them........</p>
f68a0 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>
f68c0 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 <a.href="#opaque">opaque</a></li
f68e0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 65 78 74 65 72 6e 3c 2f >.<li><a.href="#extern">extern</
f6900 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
f6920 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e or">@compileError</a></li>.</ul>
f6940 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 4d 61 63 72 6f 73 22 ...............<h3.id="C-Macros"
f6960 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 2d 4d 61 63 72 6f 73 ><a.href="nav.xhtml#toc-C-Macros
f6980 22 3e 43 20 4d 61 63 72 6f 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ">C.Macros</a>.<a.class="hdr".hr
f69a0 65 66 3d 22 23 43 2d 4d 61 63 72 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ef="#C-Macros">..</a></h3>......
f69c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 61 6b 65 ..<p>.........C.Translation.make
f69e0 73 20 61 20 62 65 73 74 2d 65 66 66 6f 72 74 20 61 74 74 65 6d 70 74 20 74 6f 20 74 72 61 6e 73 s.a.best-effort.attempt.to.trans
f6a00 6c 61 74 65 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 20 69 6e 74 6f 20 65 late.function-like.macros.into.e
f6a20 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 20 20 20 5a 69 67 20 66 75 6e 63 74 69 6f 6e 73 2e quivalent.........Zig.functions.
f6a40 20 53 69 6e 63 65 20 43 20 6d 61 63 72 6f 73 20 6f 70 65 72 61 74 65 20 61 74 20 74 68 65 20 6c .Since.C.macros.operate.at.the.l
f6a60 65 76 65 6c 20 6f 66 20 6c 65 78 69 63 61 6c 20 74 6f 6b 65 6e 73 2c 20 6e 6f 74 20 61 6c 6c 20 evel.of.lexical.tokens,.not.all.
f6a80 43 20 6d 61 63 72 6f 73 0a 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 74 72 61 6e 73 6c 61 74 C.macros.........can.be.translat
f6aa0 65 64 20 74 6f 20 5a 69 67 2e 20 4d 61 63 72 6f 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 ed.to.Zig..Macros.that.cannot.be
f6ac0 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 6c 6c 20 62 65 20 62 65 20 64 65 6d 6f 74 65 64 20 74 .translated.will.be.be.demoted.t
f6ae0 6f 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e o.........<code><span.class="lin
f6b00 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 6f e"><span.class="tok-builtin">@co
f6b20 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 64 65 3e 2e mpileError</span></span></code>.
f6b40 20 4e 6f 74 65 20 74 68 61 74 20 43 20 63 6f 64 65 20 77 68 69 63 68 20 3c 65 6d 3e 75 73 65 73 .Note.that.C.code.which.<em>uses
f6b60 3c 2f 65 6d 3e 20 6d 61 63 72 6f 73 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 74 72 61 </em>.macros.will.be.........tra
f6b80 6e 73 6c 61 74 65 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 nslated.without.any.additional.i
f6ba0 73 73 75 65 73 20 28 73 69 6e 63 65 20 5a 69 67 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 ssues.(since.Zig.operates.on.the
f6bc0 20 70 72 65 2d 70 72 6f 63 65 73 73 65 64 20 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 77 69 .pre-processed.source.........wi
f6be0 74 68 20 6d 61 63 72 6f 73 20 65 78 70 61 6e 64 65 64 29 2e 20 49 74 20 69 73 20 6d 65 72 65 6c th.macros.expanded)..It.is.merel
f6c00 79 20 74 68 65 20 6d 61 63 72 6f 73 20 74 68 65 6d 73 65 6c 76 65 73 20 77 68 69 63 68 20 6d 61 y.the.macros.themselves.which.ma
f6c20 79 20 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 20 y.not.be.translatable.to........
f6c40 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 6f 6e 73 69 64 .Zig........</p>.......<p>Consid
f6c60 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 3a 3c 2f 70 3e 0a 20 20 er.the.following.example:</p>...
f6c80 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 ....<figure><figcaption.class="c
f6ca0 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 61 63 72 6f 2e 63 -cap"><cite.class="file">macro.c
f6cc0 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><
f6ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 64 65 66 69 6e 65 20 4d 41 4b 45 4c 4f span.class="line">#define.MAKELO
f6d00 43 41 4c 28 4e 41 4d 45 2c 20 49 4e 49 54 29 20 69 6e 74 20 4e 41 4d 45 20 3d 20 49 4e 49 54 3c CAL(NAME,.INIT).int.NAME.=.INIT<
f6d20 2f 73 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 6e 74 20 66 6f /span>.<span.class="line">int.fo
f6d40 6f 28 76 6f 69 64 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 o(void).{</span>.<span.class="li
f6d60 6e 65 22 3e 20 20 20 4d 41 4b 45 4c 4f 43 41 4c 28 61 2c 20 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ne">...MAKELOCAL(a,.1);</span>.<
f6d80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4d 41 4b 45 4c 4f 43 41 4c 28 62 span.class="line">...MAKELOCAL(b
f6da0 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">
f6dc0 20 20 20 72 65 74 75 72 6e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ...return.a.+.b;</span>.<span.cl
f6de0 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>
f6e00 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
f6e20 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
f6e40 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="
f6e60 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 6d 61 63 line">$.<kbd>zig.translate-c.mac
f6e80 72 6f 2e 63 20 3e 20 6d 61 63 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f ro.c.>.macro.zig</kbd></span>.</
f6ea0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 samp></pre></figure>.......<figu
f6ec0 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"><
f6ee0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 7a 69 67 3c 2f 63 69 74 cite.class="file">macro.zig</cit
f6f00 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.
f6f20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
f6f40 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
f6f60 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 6b ">export</span>.<span.class="tok
f6f80 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-
f6fa0 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
f6fc0 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-type">c_int</span>.{</span>.<s
f6fe0 70 61 6e 20 63 6c 61 73 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
f7000 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c ="tok-kw">var</span>.a:.<span.cl
f7020 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 20 3d 20 3c 73 ass="tok-type">c_int</span>.=.<s
f7040 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>;
f7060 3c 2f 73 70 61 6e 3e 0a 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">....<
f7080 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
f70a0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f :.<span.class="tok-type">c_int</
f70c0 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"
f70e0 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >2</span>;</span>.<span.class="l
f7100 69 6e 65 22 3e 20 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
f7120 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 turn</span>.a.+.b;</span>.<span.
f7140 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
f7160 73 3d 22 6c 69 6e 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
f7180 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
f71a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 4d 41 4b 45 4c 4f 43 41 4c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 nst</span>.MAKELOCAL.=.<span.cla
f71c0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f ss="tok-builtin">@compileError</
f71e0 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
f7200 74 3b 75 6e 61 62 6c 65 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 43 20 65 78 70 72 3a 20 75 6e t;unable.to.translate.C.expr:.un
f7220 65 78 70 65 63 74 65 64 20 74 6f 6b 65 6e 20 2e 45 71 75 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 expected.token..Equal&quot;</spa
f7240 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f n>);.<span.class="tok-comment">/
f7260 2f 20 6d 61 63 72 6f 2e 63 3a 31 3a 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 /.macro.c:1:9</span></span></cod
f7280 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 4e 6f 74 65 20 e></pre></figure>.......<p>Note.
f72a0 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 66 6f that.<code><span.class="line">fo
f72c0 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 61 73 20 74 72 61 6e 73 6c 61 74 65 64 20 63 o</span></code>.was.translated.c
f72e0 6f 72 72 65 63 74 6c 79 20 64 65 73 70 69 74 65 20 75 73 69 6e 67 20 61 20 6e 6f 6e 2d 74 72 61 orrectly.despite.using.a.non-tra
f7300 6e 73 6c 61 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 6d 61 63 72 6f 2e 20 3c 63 6f 64 65 3e 3c nslatable.........macro..<code><
f7320 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 73 70 61 span.class="line">MAKELOCAL</spa
f7340 6e 3e 3c 2f 63 6f 64 65 3e 20 77 61 73 20 64 65 6d 6f 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c n></code>.was.demoted.to.<code><
f7360 73 70 61 6e 20 63 6c 61 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
f7380 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e ok-builtin">@compileError</span>
f73a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 69 74 20 </span></code>.since.........it.
f73c0 63 61 6e 6e 6f 74 20 62 65 20 65 78 70 72 65 73 73 65 64 20 61 73 20 61 20 5a 69 67 20 66 75 6e cannot.be.expressed.as.a.Zig.fun
f73e0 63 74 69 6f 6e 3b 20 74 68 69 73 20 73 69 6d 70 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f ction;.this.simply.means.that.yo
f7400 75 20 63 61 6e 6e 6f 74 20 64 69 72 65 63 74 6c 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 3c 63 u.cannot.directly.use.........<c
f7420 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c ode><span.class="line">MAKELOCAL
f7440 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c </span></code>.from.Zig........<
f7460 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>.<
f7480 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 22 3e 40 63 6f 6d 70 li><a.href="#compileError">@comp
f74a0 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 20 20 20 20 20 20 0a ileError</a></li>.</ul>.........
f74c0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 .......<h3.id="C-Pointers"><a.hr
f74e0 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 ef="nav.xhtml#toc-C-Pointers">C.
f7500 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 Pointers</a>.<a.class="hdr".href
f7520 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ="#C-Pointers">..</a></h3>......
f7540 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 74 79 70 65 20 69 73 20 74 6f 20 62 65 20 61 ..<p>.......This.type.is.to.be.a
f7560 76 6f 69 64 65 64 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 54 68 65 20 6f 6e voided.whenever.possible..The.on
f7580 6c 79 20 76 61 6c 69 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 75 73 69 6e 67 20 61 20 43 20 70 6f ly.valid.reason.for.using.a.C.po
f75a0 69 6e 74 65 72 20 69 73 20 69 6e 0a 20 20 20 20 20 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 inter.is.in.......auto-generated
f75c0 20 63 6f 64 65 20 66 72 6f 6d 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 .code.from.translating.C.code...
f75e0 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 69 .....</p>.......<p>.......When.i
f7600 6d 70 6f 72 74 69 6e 67 20 43 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 69 74 20 69 73 20 61 mporting.C.header.files,.it.is.a
f7620 6d 62 69 67 75 6f 75 73 20 77 68 65 74 68 65 72 20 70 6f 69 6e 74 65 72 73 20 73 68 6f 75 6c 64 mbiguous.whether.pointers.should
f7640 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 61 73 0a 20 20 20 20 20 20 73 69 6e 67 6c 65 2d 69 .be.translated.as.......single-i
f7660 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d tem.pointers.(<code><span.class=
f7680 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6f 72 20 6d 61 6e 79 "line">*T</span></code>).or.many
f76a0 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 -item.pointers.(<code><span.clas
f76c0 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 3e 29 2e 0a 20 20 s="line">[*]T</span></code>)....
f76e0 20 20 20 20 43 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 20 ....C.pointers.are.a.compromise.
f7700 73 6f 20 74 68 61 74 20 5a 69 67 20 63 6f 64 65 20 63 61 6e 20 75 74 69 6c 69 7a 65 20 74 72 61 so.that.Zig.code.can.utilize.tra
f7720 6e 73 6c 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 64 69 72 65 63 74 6c 79 2e 0a 20 nslated.header.files.directly...
f7740 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .....</p>.......<p><code><span.c
f7760 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 63 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 lass="line">[*c]T</span></code>.
f7780 2d 20 43 20 70 6f 69 6e 74 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 -.C.pointer.</p>.......<ul>.....
f77a0 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 73 79 6e 74 61 78 20 ....<li>Supports.all.the.syntax.
f77c0 6f 66 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 2e 3c of.the.other.two.pointer.types.<
f77e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 65 72 63 65 73 20 74 6f 20 6f 74 68 65 /li>.........<li>Coerces.to.othe
f7800 72 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 3c 61 20 68 r.pointer.types,.as.well.as.<a.h
f7820 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 ref="#Optional-Pointers">Optiona
f7840 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e l.Pointers</a>..............When
f7860 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 6e 6f 6e .a.C.pointer.is.coerced.to.a.non
f7880 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2c 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 -optional.pointer,.safety-checke
f78a0 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 d.............<a.href="#Undefine
f78c0 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</
f78e0 61 3e 20 6f 63 63 75 72 73 20 69 66 20 74 68 65 20 61 64 64 72 65 73 73 20 69 73 20 30 2e 0a 20 a>.occurs.if.the.address.is.0...
f7900 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 6f 77 73 20 .......</li>.........<li>Allows.
f7920 61 64 64 72 65 73 73 20 30 2e 20 4f 6e 20 6e 6f 6e 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 20 74 address.0..On.non-freestanding.t
f7940 61 72 67 65 74 73 2c 20 64 65 72 65 66 65 72 65 6e 63 69 6e 67 20 61 64 64 72 65 73 73 20 30 20 argets,.dereferencing.address.0.
f7960 69 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 is.safety-checked.............<a
f7980 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 .href="#Undefined-Behavior">Unde
f79a0 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 20 4f 70 74 69 6f 6e 61 6c 20 43 20 70 fined.Behavior</a>..Optional.C.p
f79c0 6f 69 6e 74 65 72 73 20 69 6e 74 72 6f 64 75 63 65 20 61 6e 6f 74 68 65 72 20 62 69 74 20 74 6f ointers.introduce.another.bit.to
f79e0 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c .keep.track.of.............null,
f7a00 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
f7a20 6e 65 22 3e 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 ne">?<span.class="tok-type">usiz
f7a40 65 3c 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 e</span></span></code>..Note.tha
f7a60 74 20 63 72 65 61 74 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 43 20 70 6f 69 6e 74 65 72 t.creating.an.optional.C.pointer
f7a80 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 75 6e 6e 65 63 65 73 73 61 72 79 20 61 73 20 6f .............is.unnecessary.as.o
f7aa0 6e 65 20 63 61 6e 20 75 73 65 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 ne.can.use.normal.<a.href="#Opti
f7ac0 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 73 onal-Pointers">Optional.Pointers
f7ae0 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e </a>..........</li>.........<li>
f7b00 53 75 70 70 6f 72 74 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 Supports.<a.href="#Type-Coercion
f7b20 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 ">Type.Coercion</a>.to.and.from.
f7b40 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 53 75 70 70 6f integers.</li>.........<li>Suppo
f7b60 72 74 73 20 63 6f 6d 70 61 72 69 73 6f 6e 20 77 69 74 68 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c rts.comparison.with.integers.</l
f7b80 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 i>.........<li>Does.not.support.
f7ba0 5a 69 67 2d 6f 6e 6c 79 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 73 20 73 75 63 68 Zig-only.pointer.attributes.such
f7bc0 20 61 73 20 61 6c 69 67 6e 6d 65 6e 74 2e 20 55 73 65 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 .as.alignment..Use.normal.<a.hre
f7be0 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 0a 20 20 20 20 20 f="#Pointers">Pointers</a>......
f7c00 20 20 20 70 6c 65 61 73 65 21 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 ...please!</li>.......</ul>.....
f7c20 20 20 3c 70 3e 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 70 6f 69 6e 74 69 6e ..<p>When.a.C.pointer.is.pointin
f7c40 67 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 73 74 72 75 63 74 20 28 6e 6f 74 20 61 6e 20 61 72 72 g.to.a.single.struct.(not.an.arr
f7c60 61 79 29 2c 20 64 65 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 43 20 70 6f 69 6e 74 65 72 20 74 ay),.dereference.the.C.pointer.t
f7c80 6f 0a 20 20 20 20 20 20 20 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 73 74 72 75 63 74 27 73 o.........access.to.the.struct's
f7ca0 20 66 69 65 6c 64 73 20 6f 72 20 6d 65 6d 62 65 72 20 64 61 74 61 2e 20 54 68 61 74 20 73 79 6e .fields.or.member.data..That.syn
f7cc0 74 61 78 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 74 68 69 73 3a 20 3c 2f 70 tax.looks.like.........this:.</p
f7ce0 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.........<p><code><span.class="
f7d00 6c 69 6e 65 22 3e 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 2e 2a 2e 73 74 72 75 63 74 5f 6d 65 6d line">ptr_to_struct.*.struct_mem
f7d20 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 ber</span></code></p>.........<p
f7d40 3e 54 68 69 73 20 69 73 20 63 6f 6d 70 61 72 61 62 6c 65 20 74 6f 20 64 6f 69 6e 67 20 3c 63 6f >This.is.comparable.to.doing.<co
f7d60 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 26 67 74 3b 3c 2f 73 70 61 de><span.class="line">-&gt;</spa
f7d80 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 43 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 20 n></code>.in.C.</p>.........<p>.
f7da0 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 When.a.C.pointer.is.pointing.to.
f7dc0 61 6e 20 61 72 72 61 79 20 6f 66 20 73 74 72 75 63 74 73 2c 20 74 68 65 20 73 79 6e 74 61 78 20 an.array.of.structs,.the.syntax.
f7de0 72 65 76 65 72 74 73 20 74 6f 20 74 68 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e reverts.to.this:</p>.........<p>
f7e00 3c 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 5f 74 6f 5f <code><span.class="line">ptr_to_
f7e20 73 74 72 75 63 74 5f 61 72 72 61 79 5b 69 6e 64 65 78 5d 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 struct_array[index].struct_membe
f7e40 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 r</span></code></p>.............
f7e60 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 ..<h3.id="Exporting-a-C-Library"
f7e80 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 78 70 6f 72 74 69 6e ><a.href="nav.xhtml#toc-Exportin
f7ea0 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 4c 69 62 g-a-C-Library">Exporting.a.C.Lib
f7ec0 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 45 rary</a>.<a.class="hdr".href="#E
f7ee0 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 2f 68 33 xporting-a-C-Library">..</a></h3
f7f00 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 20 70 72 >........<p>.......One.of.the.pr
f7f20 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 70 6f 72 imary.use.cases.for.Zig.is.expor
f7f40 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 20 66 6f ting.a.library.with.the.C.ABI.fo
f7f60 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 0a 20 20 r.other.programming.languages...
f7f80 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 73 70 61 ....to.call.into..The.<code><spa
f7fa0 6e 20 63 6c 61 73 73 3d 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-
f7fc0 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 65 3e 20 kw">export</span></span></code>.
f7fe0 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 2c 20 76 keyword.in.front.of.functions,.v
f8000 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 65 6d 20 ariables,.and.types.causes.them.
f8020 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 72 79 20 to.......be.part.of.the.library.
f8040 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 3e 3c 66 API:.......</p>.......<figure><f
f8060 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.
f8080 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 74 65 3e class="file">mathtest.zig</cite>
f80a0 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
f80c0 61 73 73 3d 22 6c 69 6e 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">
f80e0 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 6b export</span>.<span.class="tok-k
f8100 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
f8120 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 6f 6b ">add</span>(a:.<span.class="tok
f8140 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 -type">i32</span>,.b:.<span.clas
f8160 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>).<span.c
f8180 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
f81a0 61 6e 3e 0a 3c 73 70 61 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
f81c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 .class="tok-kw">return</span>.a.
f81e0 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d +.b;</span>.<span.class="line">}
f8200 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 </span></code></pre></figure>...
f8220 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 72 79 3a ....<p>To.make.a.static.library:
f8240 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
f8260 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
f8280 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"
f82a0 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 74 2e 7a >$.<kbd>zig.build-lib.mathtest.z
f82c0 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 66 ig</kbd></span>.</samp></pre></f
f82e0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 6d 61 6b 65 20 61 20 73 68 61 72 65 64 igure>.......<p>To.make.a.shared
f8300 20 6c 69 62 72 61 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 .library:</p>.......<figure><fig
f8320 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<
f8340 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
f8360 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 62 20 6d ss="line">$.<kbd>zig.build-lib.m
f8380 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 70 61 6e athtest.zig.-dynamic</kbd></span
f83a0 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>.......<
f83c0 70 3e 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 74 68 65 20 3c 61 p>Here.is.an.example.with.the.<a
f83e0 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 75 .href="#Zig-Build-System">Zig.Bu
f8400 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ild.System</a>:</p>.......<figur
f8420 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 74 e><figcaption.class="c-cap"><cit
f8440 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 e.class="file">test.c</cite></fi
f8460 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=
f8480 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 72 61 74 "line">//.This.header.is.generat
f84a0 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 73 70 61 ed.by.zig.from.mathtest.zig</spa
f84c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 n>.<span.class="line">#include.&
f84e0 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 3c 73 70 quot;mathtest.h&quot;</span>.<sp
f8500 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 73 74 64 an.class="line">#include.&lt;std
f8520 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 6c 69 6e io.h&gt;</span>.<span.class="lin
f8540 65 22 3e 3c 2f 73 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 6e e"></span>.<span.class="line">in
f8560 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 20 7b 3c t.main(int.argc,.char.**argv).{<
f8580 2f 73 70 61 6e 3e 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
f85a0 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 3c 2f 73 t32_t.result.=.add(42,.1337);</s
f85c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e pan>.<span.class="line">....prin
f85e0 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 3c 2f 73 tf(&quot;%d\n&quot;,.result);</s
f8600 70 61 6e 3e 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
f8620 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 65 22 3e rn.0;</span>.<span.class="line">
f8640 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>..
f8660 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="
f8680 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 75 69 6c zig-cap"><cite.class="file">buil
f86a0 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 d.zig</cite></figcaption><pre><c
f86c0 6f 64 65 3e 3c 73 70 61 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
f86e0 73 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 64 65 72 ss="tok-kw">const</span>.Builder
f8700 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
f8720 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
f8740 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 6c 64 2e ">&quot;std&quot;</span>).build.
f8760 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 6c 69 6e Builder;</span>.<span.class="lin
f8780 65 22 3e 3c 2f 73 70 61 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
f87a0 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
f87c0 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
f87e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 an.class="tok-fn">build</span>(b
f8800 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 74 79 70 :.*Builder).<span.class="tok-typ
f8820 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
f8840 61 73 73 3d 22 6c 69 6e 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-
f8860 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 68 61 72 kw">const</span>.lib.=.b.addShar
f8880 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 72 22 3e edLibrary(<span.class="tok-str">
f88a0 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 3c 73 70 &quot;mathtest&quot;</span>,.<sp
f88c0 61 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 74 65 73 an.class="tok-str">&quot;mathtes
f88e0 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 28 3c 73 t.zig&quot;</span>,.b.version(<s
f8900 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 2c pan.class="tok-number">1</span>,
f8920 20 3c 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
f8940 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</
f8960 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
f8980 65 22 3e 3c 2f 73 70 61 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">..
f89a0 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
f89c0 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 61 6e 20 an>.exe.=.b.addExecutable(<span.
f89e0 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 6f 74 3b class="tok-str">&quot;test&quot;
f8a00 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e </span>,.<span.class="tok-null">
f8a20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 null</span>);</span>.<span.class
f8a40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 3c ="line">....exe.addCSourceFile(<
f8a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e span.class="tok-str">&quot;test.
f8a80 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 c&quot;</span>,.&amp;[_][]<span.
f8aa0 63 6c 61 73 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
f8ac0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 n.class="tok-type">u8</span>{<sp
f8ae0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d 63 39 an.class="tok-str">&quot;-std=c9
f8b00 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 9&quot;</span>});</span>.<span.c
f8b20 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 72 79 28 lass="line">....exe.linkLibrary(
f8b40 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 65 22 3e lib);</span>.<span.class="line">
f8b60 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 72 61 72 79 28 3c 73 70 61 6e 20 ....exe.linkSystemLibrary(<span.
f8b80 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 class="tok-str">&quot;c&quot;</s
f8ba0 70 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"
f8bc0 3e 3c 2f 73 70 61 6e 3e 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">....
f8be0 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 65 b.default_step.dependOn(&amp;exe
f8c00 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 69 6e 65 .step);</span>.<span.class="line
f8c20 22 3e 3c 2f 73 70 61 6e 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">...
f8c40 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
f8c60 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 3e 0a 3c n>.run_cmd.=.exe.run();</span>.<
f8c80 73 70 61 6e 20 63 6c 61 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.
f8ca0 63 6c 61 73 73 3d 22 6c 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
f8cc0 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 3d 20 62 k-kw">const</span>.test_step.=.b
f8ce0 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 71 75 6f .step(<span.class="tok-str">&quo
f8d00 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 61 73 73 t;test&quot;</span>,.<span.class
f8d20 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 67 72 61 ="tok-str">&quot;Test.the.progra
f8d40 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 20 63 6c m&quot;</span>);</span>.<span.cl
f8d60 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 6e 64 4f ass="line">....test_step.dependO
f8d80 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 3c 73 70 n(&amp;run_cmd.step);</span>.<sp
f8da0 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><
f8dc0 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
f8de0 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
f8e00 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
f8e20 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 65 73 74 ass="line">$.<kbd>zig.build.test
f8e40 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"
f8e60 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 69 67 75 >1379</span>.</samp></pre></figu
f8e80 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>.<
f8ea0 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 61 3e 3c li><a.href="#export">export</a><
f8ec0 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=
f8ee0 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 3d 22 6e "Mixing-Object-Files"><a.href="n
f8f00 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 av.xhtml#toc-Mixing-Object-Files
f8f20 22 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 74 20 46 69 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ">Mixing.Object.Files</a>.<a.cla
f8f40 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 ss="hdr".href="#Mixing-Object-Fi
f8f60 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 les">..</a></h3>........<p>.....
f8f80 20 20 59 6f 75 20 63 61 6e 20 6d 69 78 20 5a 69 67 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 77 ..You.can.mix.Zig.object.files.w
f8fa0 69 74 68 20 61 6e 79 20 6f 74 68 65 72 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 74 68 61 74 20 ith.any.other.object.files.that.
f8fc0 72 65 73 70 65 63 74 20 74 68 65 20 43 20 41 42 49 2e 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 respect.the.C.ABI..Example:.....
f8fe0 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
f9000 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
f9020 6c 65 22 3e 62 61 73 65 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f le">base64.zig</cite></figcaptio
f9040 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">
f9060 3c 73 70 61 6e 20 63 6c 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
f9080 3e 20 62 61 73 65 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c >.base64.=.<span.class="tok-buil
f90a0 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=
f90c0 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>
f90e0 29 2e 62 61 73 65 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ).base64;</span>.<span.class="li
f9100 6e 65 22 3e 3c 2f 73 70 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"><
f9120 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
f9140 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>
f9160 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 63 6f 64 65 5f 62 61 73 .<span.class="tok-fn">decode_bas
f9180 65 5f 36 34 3c 2f 73 70 61 6e 3e 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e_64</span>(</span>.<span.class=
f91a0 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 73 74 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c "line">....dest_ptr:.[*]<span.cl
f91c0 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 3e ass="tok-type">u8</span>,</span>
f91e0 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 73 74 5f 6c 65 6e .<span.class="line">....dest_len
f9200 3a 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</
f9220 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"
f9240 3e 20 20 20 20 73 6f 75 72 63 65 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d >....source_ptr:.[*]<span.class=
f9260 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
f9280 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c s="tok-type">u8</span>,</span>.<
f92a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6f 75 72 63 65 5f 6c 65 6e span.class="line">....source_len
f92c0 3a 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</
f92e0 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"
f9300 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 69 7a 65 3c >).<span.class="tok-type">usize<
f9320 2f 73 70 61 6e 3e 20 7b 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
f9340 65 22 3e 20 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
f9360 74 3c 2f 73 70 61 6e 3e 20 73 72 63 20 3d 20 73 6f 75 72 63 65 5f 70 74 72 5b 3c 73 70 61 6e 20 t</span>.src.=.source_ptr[<span.
f9380 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 73 6f 75 class="tok-number">0</span>..sou
f93a0 72 63 65 5f 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 rce_len];</span>.<span.class="li
f93c0 6e 65 22 3e 20 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
f93e0 73 74 3c 2f 73 70 61 6e 3e 20 64 65 73 74 20 3d 20 64 65 73 74 5f 70 74 72 5b 3c 73 70 61 6e 20 st</span>.dest.=.dest_ptr[<span.
f9400 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 64 65 73 class="tok-number">0</span>..des
f9420 74 5f 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 t_len];</span>.<span.class="line
f9440 22 3e 20 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
f9460 3c 2f 73 70 61 6e 3e 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 20 3d 20 62 61 73 65 36 34 2e </span>.base64_decoder.=.base64.
f9480 73 74 61 6e 64 61 72 64 2e 44 65 63 6f 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 standard.Decoder;</span>.<span.c
f94a0 6c 61 73 73 3d 22 6c 69 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
f94c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 20 3d -kw">const</span>.decoded_size.=
f94e0 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 63 61 6c 63 53 69 7a 65 46 6f 72 53 6c 69 63 65 .base64_decoder.calcSizeForSlice
f9500 28 73 72 63 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 (src).<span.class="tok-kw">catch
f9520 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 </span>.<span.class="tok-kw">unr
f9540 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c eachable</span>;</span>.<span.cl
f9560 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 64 65 ass="line">....base64_decoder.de
f9580 63 6f 64 65 28 64 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 code(dest[<span.class="tok-numbe
f95a0 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 64 65 63 6f 64 65 64 5f 73 69 7a 65 5d 2c 20 73 72 63 29 r">0</span>..decoded_size],.src)
f95c0 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
f95e0 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
f9600 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="
f9620 6c 69 6e 65 22 3e 20 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
f9640 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 3b 3c 2f 73 70 61 6e eturn</span>.decoded_size;</span
f9660 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
f9680 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
f96a0 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 74 e><figcaption.class="c-cap"><cit
f96c0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 e.class="file">test.c</cite></fi
f96e0 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=
f9700 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 72 61 74 "line">//.This.header.is.generat
f9720 65 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 62 61 73 65 36 34 2e 7a 69 67 3c 2f 73 70 61 6e 3e ed.by.zig.from.base64.zig</span>
f9740 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 71 75 .<span.class="line">#include.&qu
f9760 6f 74 3b 62 61 73 65 36 34 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ot;base64.h&quot;</span>.<span.c
f9780 6c 61 73 73 3d 22 6c 69 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=
f97a0 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 69 6e 67 2e 68 26 67 74 3b "line">#include.&lt;string.h&gt;
f97c0 3c 2f 73 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 </span>.<span.class="line">#incl
f97e0 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ude.&lt;stdio.h&gt;</span>.<span
f9800 20 63 6c 61 73 73 3d 22 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
f9820 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 s="line">int.main(int.argc,.char
f9840 20 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .**argv).{</span>.<span.class="l
f9860 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 65 6e 63 6f 64 65 64 20 3d 20 26 ine">....const.char.*encoded.=.&
f9880 71 75 6f 74 3b 59 57 78 73 49 48 6c 76 64 58 49 67 59 6d 46 7a 5a 53 42 68 63 6d 55 67 59 6d 56 quot;YWxsIHlvdXIgYmFzZSBhcmUgYmV
f98a0 73 62 32 35 6e 49 48 52 76 49 48 56 7a 26 71 75 6f 74 3b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 sb25nIHRvIHVz&quot;;</span>.<spa
f98c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 30 30 5d n.class="line">....char.buf[200]
f98e0 3b 3c 2f 73 70 61 6e 3e 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
f9900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 69 7a 65 5f an>.<span.class="line">....size_
f9920 74 20 6c 65 6e 20 3d 20 64 65 63 6f 64 65 5f 62 61 73 65 5f 36 34 28 62 75 66 2c 20 32 30 30 2c t.len.=.decode_base_64(buf,.200,
f9940 20 65 6e 63 6f 64 65 64 2c 20 73 74 72 6c 65 6e 28 65 6e 63 6f 64 65 64 29 29 3b 3c 2f 73 70 61 .encoded,.strlen(encoded));</spa
f9960 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 75 66 5b 6c 65 n>.<span.class="line">....buf[le
f9980 6e 5d 20 3d 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 n].=.0;</span>.<span.class="line
f99a0 22 3e 20 20 20 20 70 75 74 73 28 62 75 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">....puts(buf);</span>.<span.cl
f99c0 61 73 73 3d 22 6c 69 6e 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="
f99e0 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e line">....return.0;</span>.<span
f9a00 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
f9a20 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 63 re></figure>.......<figure><figc
f9a40 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
f9a60 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 69 67 63 ss="file">build.zig</cite></figc
f9a80 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
f9aa0 69 6e 65 22 3e 3c 73 70 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<
f9ac0 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 22 74 6f /span>.Builder.=.<span.class="to
f9ae0 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.
f9b00 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;<
f9b20 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 0a 3c 73 /span>).build.Builder;</span>.<s
f9b40 70 61 6e 20 63 6c 61 73 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
f9b60 6c 61 73 73 3d 22 6c 69 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"
f9b80 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"
f9ba0 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">
f9bc0 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 61 6e 20 build</span>(b:.*Builder).<span.
f9be0 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>.{</
f9c00 73 70 61 6e 3e 0a 3c 73 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
f9c20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f an.class="tok-kw">const</span>.o
f9c40 62 6a 20 3d 20 62 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 bj.=.b.addObject(<span.class="to
f9c60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e k-str">&quot;base64&quot;</span>
f9c80 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 61 ,.<span.class="tok-str">&quot;ba
f9ca0 73 65 36 34 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 se64.zig&quot;</span>);</span>.<
f9cc0 73 70 61 6e 20 63 6c 61 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.
f9ce0 63 6c 61 73 73 3d 22 6c 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
f9d00 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 78 k-kw">const</span>.exe.=.b.addEx
f9d20 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 26 ecutable(<span.class="tok-str">&
f9d40 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
f9d60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ass="tok-null">null</span>);</sp
f9d80 61 6e 3e 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 an>.<span.class="line">....exe.a
f9da0 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 2d 73 ddCSourceFile(<span.class="tok-s
f9dc0 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 tr">&quot;test.c&quot;</span>,.&
f9de0 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 77 22 3e 63 6f amp;[_][]<span.class="tok-kw">co
f9e00 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
f9e20 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ">u8</span>{<span.class="tok-str
f9e40 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b ">&quot;-std=c99&quot;</span>});
f9e60 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....e
f9e80 78 65 2e 61 64 64 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 xe.addObject(obj);</span>.<span.
f9ea0 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 53 79 73 74 65 6d 4c class="line">....exe.linkSystemL
f9ec0 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 72 22 3e 26 71 75 ibrary(<span.class="tok-str">&qu
f9ee0 6f 74 3b 63 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 ot;c&quot;</span>);</span>.<span
f9f00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 69 6e 73 74 61 6c 6c 28 29 3b .class="line">....exe.install();
f9f20 3c 2f 73 70 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
f9f40 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>.......
f9f60 3c 66 69 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
f9f80 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
f9fa0 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
f9fc0 20 62 75 69 6c 64 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 .build</kbd></span>.<span.class=
f9fe0 22 6c 69 6e 65 22 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 "line">$.<kbd>./zig-out/bin/test
fa000 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"
fa020 3e 61 6c 6c 20 79 6f 75 72 20 62 61 73 65 20 61 72 65 20 62 65 6c 6f 6e 67 20 74 6f 20 75 73 3c >all.your.base.are.belong.to.us<
fa040 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>...
fa060 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 ....<p>See.also:</p><ul>.<li><a.
fa080 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 3e href="#Targets">Targets</a></li>
fa0a0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 .<li><a.href="#Zig-Build-System"
fa0c0 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e >Zig.Build.System</a></li>.</ul>
fa0e0 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 57 65 ......................<h2.id="We
fa100 62 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f bAssembly"><a.href="nav.xhtml#to
fa120 63 2d 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 20 3c c-WebAssembly">WebAssembly</a>.<
fa140 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 65 62 41 73 73 65 6d 62 6c 79 a.class="hdr".href="#WebAssembly
fa160 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 20 73 75 70 70 ">..</a></h2>........<p>Zig.supp
fa180 6f 72 74 73 20 62 75 69 6c 64 69 6e 67 20 66 6f 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 6f 75 orts.building.for.WebAssembly.ou
fa1a0 74 20 6f 66 20 74 68 65 20 62 6f 78 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 t.of.the.box.</p>.......<h3.id="
fa1c0 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c Freestanding"><a.href="nav.xhtml
fa1e0 23 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 74 61 6e 64 69 6e 67 3c #toc-Freestanding">Freestanding<
fa200 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 72 65 65 73 74 /a>.<a.class="hdr".href="#Freest
fa220 61 6e 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f anding">..</a></h3>........<p>Fo
fa240 72 20 68 6f 73 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 6c 69 6b 65 20 74 68 65 20 77 65 62 r.host.environments.like.the.web
fa260 20 62 72 6f 77 73 65 72 20 61 6e 64 20 6e 6f 64 65 6a 73 2c 20 62 75 69 6c 64 20 61 73 20 61 20 .browser.and.nodejs,.build.as.a.
fa280 64 79 6e 61 6d 69 63 20 6c 69 62 72 61 72 79 20 75 73 69 6e 67 20 74 68 65 20 66 72 65 65 73 74 dynamic.library.using.the.freest
fa2a0 61 6e 64 69 6e 67 0a 20 20 20 20 20 20 4f 53 20 74 61 72 67 65 74 2e 20 48 65 72 65 27 73 20 61 anding.......OS.target..Here's.a
fa2c0 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 72 75 6e 6e 69 6e 67 20 5a 69 67 20 63 6f 64 65 20 63 6f n.example.of.running.Zig.code.co
fa2e0 6d 70 69 6c 65 64 20 74 6f 20 57 65 62 41 73 73 65 6d 62 6c 79 20 77 69 74 68 20 6e 6f 64 65 6a mpiled.to.WebAssembly.with.nodej
fa300 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e s.</p>.......<figure><figcaption
fa320 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
fa340 6c 65 22 3e 6d 61 74 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e le">math.zig</cite></figcaption>
fa360 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
fa380 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">extern</span>
fa3a0 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>.
fa3c0 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 2f 73 70 61 6e <span.class="tok-fn">print</span
fa3e0 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
fa400 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
fa420 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
fa440 65 22 3e 3c 2f 73 70 61 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
fa460 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>
fa480 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>.
fa4a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">add</span>(
fa4c0 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
fa4e0 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">
fa500 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
fa520 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
fa540 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 61 20 2b 20 62 29 3b 3c 2f 73 70 ass="line">....print(a.+.b);</sp
fa560 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><
fa580 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
fa5a0 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
fa5c0 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
fa5e0 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 62 20 ass="line">$.<kbd>zig.build-lib.
fa600 6d 61 74 68 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e math.zig.-target.wasm32-freestan
fa620 64 69 6e 67 20 2d 64 79 6e 61 6d 69 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d ding.-dynamic</kbd></span>.</sam
fa640 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e p></pre></figure>.......<figure>
fa660 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 6a 61 76 61 73 63 72 69 70 74 2d 63 61 <figcaption.class="javascript-ca
fa680 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 6a 73 3c 2f 63 p"><cite.class="file">test.js</c
fa6a0 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
fa6c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 66 73 20 3d 20 72 65 71 75 69 72 n.class="line">const.fs.=.requir
fa6e0 65 28 27 66 73 27 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e('fs');</span>.<span.class="lin
fa700 65 22 3e 63 6f 6e 73 74 20 73 6f 75 72 63 65 20 3d 20 66 73 2e 72 65 61 64 46 69 6c 65 53 79 6e e">const.source.=.fs.readFileSyn
fa720 63 28 26 71 75 6f 74 3b 2e 2f 6d 61 74 68 2e 77 61 73 6d 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 c(&quot;./math.wasm&quot;);</spa
fa740 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 74 79 70 65 n>.<span.class="line">const.type
fa760 64 41 72 72 61 79 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 73 6f 75 72 63 65 29 3b dArray.=.new.Uint8Array(source);
fa780 3c 2f 73 70 61 6e 3e 0a 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
fa7a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 65 62 41 73 73 65 6d 62 6c n>.<span.class="line">WebAssembl
fa7c0 79 2e 69 6e 73 74 61 6e 74 69 61 74 65 28 74 79 70 65 64 41 72 72 61 79 2c 20 7b 3c 2f 73 70 61 y.instantiate(typedArray,.{</spa
fa7e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 6e 76 3a 20 7b 3c 2f n>.<span.class="line">..env:.{</
fa800 73 70 61 6e 3e 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
fa820 6e 74 3a 20 28 72 65 73 75 6c 74 29 20 3d 26 67 74 3b 20 7b 20 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 nt:.(result).=&gt;.{.console.log
fa840 28 60 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 24 7b 72 65 73 75 6c 74 7d 60 29 3b 20 7d 3c 2f (`The.result.is.${result}`);.}</
fa860 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 7d 7d 29 2e 74 span>.<span.class="line">..}}).t
fa880 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 hen(result.=&gt;.{</span>.<span.
fa8a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 6e 73 74 20 61 64 64 20 3d 20 72 65 73 75 6c class="line">..const.add.=.resul
fa8c0 74 2e 69 6e 73 74 61 6e 63 65 2e 65 78 70 6f 72 74 73 2e 61 64 64 3b 3c 2f 73 70 61 6e 3e 0a 3c t.instance.exports.add;</span>.<
fa8e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 64 64 28 31 2c 20 32 29 3b 3c 2f span.class="line">..add(1,.2);</
fa900 73 70 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 span>.<span.class="line">});</sp
fa920 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 3c 66 an></code></pre></figure>.....<f
fa940 69 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
fa960 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
fa980 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 6e 6f 64 65 20 ><span.class="line">$.<kbd>node.
fa9a0 74 65 73 74 2e 6a 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 test.js</kbd></span>.<span.class
fa9c0 3d 22 6c 69 6e 65 22 3e 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 33 3c 2f 73 70 61 6e 3e 0a 3c ="line">The.result.is.3</span>.<
fa9e0 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>...........
faa00 20 20 20 3c 68 33 20 69 64 3d 22 57 41 53 49 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 ...<h3.id="WASI"><a.href="nav.xh
faa20 74 6d 6c 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 tml#toc-WASI">WASI</a>.<a.class=
faa40 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 41 53 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a "hdr".href="#WASI">..</a></h3>..
faa60 20 20 20 20 20 20 3c 70 3e 5a 69 67 27 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 65 62 41 73 ......<p>Zig's.support.for.WebAs
faa80 73 65 6d 62 6c 79 20 53 79 73 74 65 6d 20 49 6e 74 65 72 66 61 63 65 20 28 57 41 53 49 29 20 69 sembly.System.Interface.(WASI).i
faaa0 73 20 75 6e 64 65 72 20 61 63 74 69 76 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 20 20 20 20 s.under.active.development......
faac0 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 ..Example.of.using.the.standard.
faae0 6c 69 62 72 61 72 79 20 61 6e 64 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 library.and.reading.command.line
fab00 20 61 72 67 75 6d 65 6e 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 .arguments:</p>.......<figure><f
fab20 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.
fab40 63 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 class="file">args.zig</cite></fi
fab60 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=
fab80 22 6c 69 6e 65 22 3e 3c 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
faba0 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-
fabc0 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
fabe0 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
fac00 70 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"
fac20 3e 3c 2f 73 70 61 6e 3e 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
fac40 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
fac60 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
fac80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c .class="tok-fn">main</span>().!<
faca0 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
facc0 3e 20 7b 3c 2f 73 70 61 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">..
face0 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
fad00 3e 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 >.general_purpose_allocator.=.st
fad20 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 28 2e d.heap.GeneralPurposeAllocator(.
fad40 7b 7d 29 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 {}){};</span>.<span.class="line"
fad60 3e 20 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<
fad80 2f 73 70 61 6e 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c /span>.gpa.=.general_purpose_all
fada0 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ocator.allocator();</span>.<span
fadc0 20 63 6c 61 73 73 3d 22 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
fade0 6f 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 ok-kw">const</span>.args.=.<span
fae00 20 63 6c 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 .class="tok-kw">try</span>.std.p
fae20 72 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 rocess.argsAlloc(gpa);</span>.<s
fae40 70 61 6e 20 63 6c 61 73 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
fae60 3d 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 ="tok-kw">defer</span>.std.proce
fae80 73 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 ss.argsFree(gpa,.args);</span>.<
faea0 73 70 61 6e 20 63 6c 61 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.
faec0 63 6c 61 73 73 3d 22 6c 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
faee0 6b 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 k-kw">for</span>.(args).|arg,.i|
faf00 20 7b 3c 2f 73 70 61 6e 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">...
faf20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 .....std.debug.print(<span.class
faf40 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b ="tok-str">&quot;{}:.{s}\n&quot;
faf60 3c 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 </span>,..{.i,.arg.});</span>.<s
faf80 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
fafa0 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>
fafc0 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
fafe0 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
fb000 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
fb020 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 61 72 67 73 2e 7a ine">$.<kbd>zig.build-exe.args.z
fb040 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b 62 64 3e 3c 2f 73 70 ig.-target.wasm32-wasi</kbd></sp
fb060 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>......
fb080 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c .<figure><figcaption.class="shel
fb0a0 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
fb0c0 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 77 61 amp><span.class="line">$.<kbd>wa
fb0e0 73 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 smtime.args.wasm.123.hello</kbd>
fb100 3c 2f 73 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 </span>.<span.class="line">0:.ar
fb120 67 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 gs.wasm</span>.<span.class="line
fb140 22 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 ">1:.123</span>.<span.class="lin
fb160 65 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 e">2:.hello</span>.</samp></pre>
fb180 3c 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 </figure>.......<p>A.more.intere
fb1a0 73 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 sting.example.would.be.extractin
fb1c0 67 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 g.the.list.of.preopens.from.the.
fb1e0 72 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 runtime........This.is.now.suppo
fb200 72 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 rted.in.the.standard.library.via
fb220 20 3c 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 .<code><span.class="line">std.fs
fb240 2e 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 .wasi.PreopenList</span></code>:
fb260 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
fb280 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
fb2a0 22 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 ">preopens.zig</cite></figcaptio
fb2c0 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">
fb2e0 3c 73 70 61 6e 20 63 6c 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
fb300 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
fb320 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
fb340 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>);<
fb360 2f 73 70 61 6e 3e 0a 3c 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.
fb380 63 6c 61 73 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 class="tok-kw">const</span>.Preo
fb3a0 70 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 penList.=.std.fs.wasi.PreopenLis
fb3c0 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
fb3e0 70 61 6e 3e 0a 3c 73 70 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
fb400 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
fb420 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
fb440 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e ss="tok-fn">main</span>().!<span
fb460 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>.{<
fb480 2f 73 70 61 6e 3e 0a 3c 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
fb4a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 65 pan.class="tok-kw">var</span>.ge
fb4c0 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 neral_purpose_allocator.=.std.he
fb4e0 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 28 2e 7b 7d 29 7b ap.GeneralPurposeAllocator(.{}){
fb500 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">...
fb520 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
fb540 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 63 61 74 n>.gpa.=.general_purpose_allocat
fb560 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 63 6c 61 or.allocator();</span>.<span.cla
fb580 73 73 3d 22 6c 69 6e 65 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
fb5a0 69 6e 65 22 3e 20 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
fb5c0 72 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 r</span>.preopens.=.PreopenList.
fb5e0 69 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 init(gpa);</span>.<span.class="l
fb600 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">de
fb620 66 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 fer</span>.preopens.deinit();</s
fb640 70 61 6e 3e 0a 3c 73 70 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>.
fb660 3c 73 70 61 6e 20 63 6c 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
fb680 73 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 ss="tok-kw">try</span>.preopens.
fb6a0 70 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 populate();</span>.<span.class="
fb6c0 6c 69 6e 65 22 3e 3c 2f 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"
fb6e0 3e 20 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
fb700 70 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 pan>.(preopens.asSlice()).|preop
fb720 65 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 en,.i|.{</span>.<span.class="lin
fb740 65 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 e">........std.debug.print(<span
fb760 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 7d 5c 6e 26 .class="tok-str">&quot;{}:.{}\n&
fb780 71 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 quot;</span>,..{.i,.preopen.});<
fb7a0 2f 73 70 61 6e 3e 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">....}<
fb7c0 2f 73 70 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
fb7e0 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>
fb800 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
fb820 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
fb840 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
fb860 78 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 xe.preopens.zig.-target.wasm32-w
fb880 61 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 asi</kbd></span>.</samp></pre></
fb8a0 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 69 6f figure>.......<figure><figcaptio
fb8c0 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
fb8e0 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
fb900 6e 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 ne">$.<kbd>wasmtime.--dir=..preo
fb920 70 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 pens.wasm</kbd></span>.<span.cla
fb940 73 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 ss="line">0:.Preopen{..fd.=.3,..
fb960 74 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 type.=.PreopenType{..Dir.=.'.'.}
fb980 20 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 .}</span>.</samp></pre></figure>
fb9a0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 54 61 72 .....................<h2.id="Tar
fb9c0 67 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 54 61 72 gets"><a.href="nav.xhtml#toc-Tar
fb9e0 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 gets">Targets</a>.<a.class="hdr"
fba00 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 .href="#Targets">..</a></h2>....
fba20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 67 65 6e 65 72 ....<p>.......Zig.supports.gener
fba40 61 74 69 6e 67 20 63 6f 64 65 20 66 6f 72 20 61 6c 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 ating.code.for.all.targets.that.
fba60 4c 4c 56 4d 20 73 75 70 70 6f 72 74 73 2e 20 48 65 72 65 20 69 73 0a 20 20 20 20 20 20 77 68 61 LLVM.supports..Here.is.......wha
fba80 74 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 6f 20 65 78 65 63 75 74 65 20 3c 63 6f 64 65 t.it.looks.like.to.execute.<code
fbaa0 3e 7a 69 67 20 74 61 72 67 65 74 73 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 4c 69 6e 75 78 20 78 >zig.targets</code>.on.a.Linux.x
fbac0 38 36 5f 36 34 0a 20 20 20 20 20 20 63 6f 6d 70 75 74 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 86_64.......computer:.......</p>
fbae0 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
fbb00 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><
fbb20 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">$.<
fbb40 6b 62 64 3e 7a 69 67 20 74 61 72 67 65 74 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 kbd>zig.targets</kbd></span>.<sp
fbb60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 72 63 68 69 74 65 63 74 75 72 65 73 3a 3c 2f an.class="line">Architectures:</
fbb80 73 70 61 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 72 6d 3c 2f span>.<span.class="line">..arm</
fbba0 73 70 61 6e 3e 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_
fbbc0 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">...
fbbe0 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"
fbc00 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
fbc20 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
fbc40 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
fbc60 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
fbc80 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
fbca0 61 6e 3e 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
fbcc0 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
fbce0 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
fbd00 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="
fbd20 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
fbd40 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
fbd60 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
fbd80 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
fbda0 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
fbdc0 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>.<
fbde0 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>
fbe00 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
fbe20 61 6e 3e 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
fbe40 70 61 6e 3e 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
fbe60 3c 2f 73 70 61 6e 3e 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
fbe80 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 61 4t</span>.<span.class="line">..a
fbea0 72 6d 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 3e 20 rmeb</span>.<span.class="line">.
fbec0 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 69 6e ...v8_4a</span>.<span.class="lin
fbee0 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 73 3d e">....v8_3a</span>.<span.class=
fbf00 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 63 6c "line">....v8_2a</span>.<span.cl
fbf20 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 70 61 ass="line">....v8_1a</span>.<spa
fbf40 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 73 70 n.class="line">....v8</span>.<sp
fbf60 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 0a 3c an.class="line">....v8r</span>.<
fbf80 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 6c 69 span.class="line">....v8m_baseli
fbfa0 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 20 ne</span>.<span.class="line">...
fbfc0 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 73 73 .v8m_mainline</span>.<span.class
fbfe0 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 61 73 ="line">....v7</span>.<span.clas
fc000 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 20 63 s="line">....v7em</span>.<span.c
fc020 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 61 6e lass="line">....v7m</span>.<span
fc040 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 73 70 .class="line">....v7s</span>.<sp
fc060 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 0a 3c an.class="line">....v7k</span>.<
fc080 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 61 6e span.class="line">....v7ve</span
fc0a0 3e 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 70 61 >.<span.class="line">....v6</spa
fc0c0 6e 3e 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 2f 73 n>.<span.class="line">....v6m</s
fc0e0 70 61 6e 3e 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 6b 3c pan>.<span.class="line">....v6k<
fc100 2f 73 70 61 6e 3e 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
fc120 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 20 20 t2</span>.<span.class="line">...
fc140 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 20 20 .v5</span>.<span.class="line">..
fc160 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 65 22 ..v5te</span>.<span.class="line"
fc180 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 69 6e >....v4t</span>.<span.class="lin
fc1a0 65 22 3e 20 20 61 61 72 63 68 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">..aarch64</span>.<span.class=
fc1c0 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 70 61 6e 20 63 6c "line">....v8_4a</span>.<span.cl
fc1e0 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 3e 0a 3c 73 70 61 ass="line">....v8_3a</span>.<spa
fc200 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 73 70 61 6e 3e 0a n.class="line">....v8_2a</span>.
fc220 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 31 61 3c 2f 73 70 <span.class="line">....v8_1a</sp
fc240 61 6e 3e 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 3c 2f 73 an>.<span.class="line">....v8</s
fc260 70 61 6e 3e 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 72 3c pan>.<span.class="line">....v8r<
fc280 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....v8
fc2a0 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 61 73 73 3d 22 6c m_baseline</span>.<span.class="l
fc2c0 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 6e 3e 0a 3c 73 70 ine">....v8m_mainline</span>.<sp
fc2e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 3c 2f 73 70 an.class="line">..aarch64_be</sp
fc300 61 6e 3e 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 an>.<span.class="line">....v8_4a
fc320 3c 2f 73 70 61 6e 3e 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
fc340 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 3e 20 8_3a</span>.<span.class="line">.
fc360 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 69 6e ...v8_2a</span>.<span.class="lin
fc380 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 73 3d e">....v8_1a</span>.<span.class=
fc3a0 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 73 73 "line">....v8</span>.<span.class
fc3c0 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 6c 61 ="line">....v8r</span>.<span.cla
fc3e0 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 61 6e ss="line">....v8m_baseline</span
fc400 3e 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 61 69 >.<span.class="line">....v8m_mai
fc420 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 22 3e nline</span>.<span.class="line">
fc440 20 20 61 76 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 ..avr</span>.<span.class="line">
fc460 20 20 62 70 66 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 ..bpfel</span>.<span.class="line
fc480 22 3e 20 20 62 70 66 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 ">..bpfeb</span>.<span.class="li
fc4a0 6e 65 22 3e 20 20 68 65 78 61 67 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">..hexagon</span>.<span.class
fc4c0 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">..mips</span>.<span.clas
fc4e0 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 s="line">..mipsel</span>.<span.c
fc500 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lass="line">..mips64</span>.<spa
fc520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 3c 2f 73 70 61 6e 3e n.class="line">..mips64el</span>
fc540 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 73 70 34 33 30 3c 2f 73 70 .<span.class="line">..msp430</sp
fc560 61 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
fc580 3c 2f 73 70 61 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 </span>.<span.class="line">..pow
fc5a0 65 72 70 63 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 erpc64</span>.<span.class="line"
fc5c0 3e 20 20 70 6f 77 65 72 70 63 36 34 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >..powerpc64le</span>.<span.clas
fc5e0 73 3d 22 6c 69 6e 65 22 3e 20 20 72 36 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">..r600</span>.<span.cla
fc600 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 67 63 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ss="line">..amdgcn</span>.<span.
fc620 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">..riscv32</span>.<s
fc640 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 3c 2f 73 70 61 6e pan.class="line">..riscv64</span
fc660 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 3c 2f 73 70 >.<span.class="line">..sparc</sp
fc680 61 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 39 an>.<span.class="line">..sparcv9
fc6a0 3c 2f 73 70 61 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 </span>.<span.class="line">..spa
fc6c0 72 63 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 22 3e 20 rcel</span>.<span.class="line">.
fc6e0 20 73 33 39 30 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 .s390x</span>.<span.class="line"
fc700 3e 20 20 74 68 75 6d 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 >..thumb</span>.<span.class="lin
fc720 65 22 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 e">....v8_4a</span>.<span.class=
fc740 22 6c 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 "line">....v8_3a</span>.<span.cl
fc760 61 73 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 ass="line">....v8_2a</span>.<spa
fc780 6e 20 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 n.class="line">....v8_1a</span>.
fc7a0 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 3c 2f 73 70 61 6e 3e <span.class="line">....v8</span>
fc7c0 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 72 3c 2f 73 70 61 .<span.class="line">....v8r</spa
fc7e0 6e 3e 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 n>.<span.class="line">....v8m_ba
fc800 73 65 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 seline</span>.<span.class="line"
fc820 3e 20 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 >....v8m_mainline</span>.<span.c
fc840 6c 61 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 lass="line">....v7</span>.<span.
fc860 63 6c 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 class="line">....v7em</span>.<sp
fc880 61 6e 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 an.class="line">....v7m</span>.<
fc8a0 73 70 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 span.class="line">....v7s</span>
fc8c0 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 6b 3c 2f 73 70 61 .<span.class="line">....v7k</spa
fc8e0 6e 3e 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 n>.<span.class="line">....v7ve</
fc900 73 70 61 6e 3e 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 span>.<span.class="line">....v6<
fc920 2f 73 70 61 6e 3e 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
fc940 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">....
fc960 76 36 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 v6k</span>.<span.class="line">..
fc980 20 20 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 ..v6t2</span>.<span.class="line"
fc9a0 3e 20 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 >....v5</span>.<span.class="line
fc9c0 22 3e 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 ">....v5te</span>.<span.class="l
fc9e0 69 6e 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 ine">....v4t</span>.<span.class=
fca00 22 6c 69 6e 65 22 3e 20 20 74 68 75 6d 62 65 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">..thumbeb</span>.<span.cl
fca20 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 70 61 ass="line">....v8_4a</span>.<spa
fca40 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 3e 0a n.class="line">....v8_3a</span>.
fca60 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 73 70 <span.class="line">....v8_2a</sp
fca80 61 6e 3e 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 31 61 an>.<span.class="line">....v8_1a
fcaa0 3c 2f 73 70 61 6e 3e 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
fcac0 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 20 20 8</span>.<span.class="line">....
fcae0 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 20 20 v8r</span>.<span.class="line">..
fcb00 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 61 73 ..v8m_baseline</span>.<span.clas
fcb20 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 6e 3e s="line">....v8m_mainline</span>
fcb40 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 73 70 61 6e .<span.class="line">....v7</span
fcb60 3e 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 6d 3c 2f 73 >.<span.class="line">....v7em</s
fcb80 70 61 6e 3e 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 6d 3c pan>.<span.class="line">....v7m<
fcba0 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....v7
fcbc0 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 20 20 s</span>.<span.class="line">....
fcbe0 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 22 3e 20 20 v7k</span>.<span.class="line">..
fcc00 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 69 6e 65 22 ..v7ve</span>.<span.class="line"
fcc20 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 6c 69 6e 65 >....v6</span>.<span.class="line
fcc40 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 3d 22 6c 69 ">....v6m</span>.<span.class="li
fcc60 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 73 73 3d 22 ne">....v6k</span>.<span.class="
fcc80 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 63 6c 61 73 line">....v6t2</span>.<span.clas
fcca0 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 20 63 6c 61 s="line">....v5</span>.<span.cla
fccc0 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 70 61 6e 20 ss="line">....v5te</span>.<span.
fcce0 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 3c 73 70 61 class="line">....v4t</span>.<spa
fcd00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 33 38 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">..i386</span>.<sp
fcd20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 20 28 6e 61 74 69 76 65 an.class="line">..x86_64.(native
fcd40 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 78 63 )</span>.<span.class="line">..xc
fcd60 6f 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 ore</span>.<span.class="line">..
fcd80 6e 76 70 74 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 nvptx</span>.<span.class="line">
fcda0 20 20 6e 76 70 74 78 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 ..nvptx64</span>.<span.class="li
fcdc0 6e 65 22 3e 20 20 6c 61 6e 61 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">..lanai</span>.<span.class="
fcde0 6c 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 line">..wasm32</span>.<span.clas
fce00 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 73 6d 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 s="line">..wasm64</span>.<span.c
fce20 6c 61 73 73 3d 22 6c 69 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=
fce40 22 6c 69 6e 65 22 3e 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 73 3a 3c 2f 73 70 61 6e 3e "line">Operating.Systems:</span>
fce60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 72 65 65 73 74 61 6e 64 69 .<span.class="line">..freestandi
fce80 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 6e 65 22 3e 20 20 61 ng</span>.<span.class="line">..a
fcea0 6e 61 6e 61 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 nanas</span>.<span.class="line">
fcec0 20 20 63 6c 6f 75 64 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 ..cloudabi</span>.<span.class="l
fcee0 69 6e 65 22 3e 20 20 64 72 61 67 6f 6e 66 6c 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ine">..dragonfly</span>.<span.cl
fcf00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 72 65 65 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">..freebsd</span>.<spa
fcf20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 75 63 68 73 69 61 3c 2f 73 70 61 6e 3e 0a n.class="line">..fuchsia</span>.
fcf40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 6f 73 3c 2f 73 70 61 6e 3e 0a <span.class="line">..ios</span>.
fcf60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6b 66 72 65 65 62 73 64 3c 2f 73 <span.class="line">..kfreebsd</s
fcf80 70 61 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 69 6e 75 78 20 pan>.<span.class="line">..linux.
fcfa0 28 6e 61 74 69 76 65 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 (native)</span>.<span.class="lin
fcfc0 65 22 3e 20 20 6c 76 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 e">..lv2</span>.<span.class="lin
fcfe0 65 22 3e 20 20 6d 61 63 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e">..macos</span>.<span.class="l
fd000 69 6e 65 22 3e 20 20 6e 65 74 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ine">..netbsd</span>.<span.class
fd020 3d 22 6c 69 6e 65 22 3e 20 20 6f 70 65 6e 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">..openbsd</span>.<span.c
fd040 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 6f 6c 61 72 69 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">..solaris</span>.<sp
fd060 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 69 6e 64 6f 77 73 3c 2f 73 70 61 6e 3e an.class="line">..windows</span>
fd080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 68 61 69 6b 75 3c 2f 73 70 61 .<span.class="line">..haiku</spa
fd0a0 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 6e 69 78 3c 2f 73 n>.<span.class="line">..minix</s
fd0c0 70 61 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 74 65 6d 73 3c pan>.<span.class="line">..rtems<
fd0e0 2f 73 70 61 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 61 63 6c /span>.<span.class="line">..nacl
fd100 3c 2f 73 70 61 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 6e 6b </span>.<span.class="line">..cnk
fd120 3c 2f 73 70 61 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 69 78 </span>.<span.class="line">..aix
fd140 3c 2f 73 70 61 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 75 64 </span>.<span.class="line">..cud
fd160 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 6e 76 a</span>.<span.class="line">..nv
fd180 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 61 cl</span>.<span.class="line">..a
fd1a0 6d 64 68 73 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 mdhsa</span>.<span.class="line">
fd1c0 20 20 70 73 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 ..ps4</span>.<span.class="line">
fd1e0 20 20 65 6c 66 69 61 6d 63 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ..elfiamcu</span>.<span.class="l
fd200 69 6e 65 22 3e 20 20 74 76 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">..tvos</span>.<span.class="
fd220 6c 69 6e 65 22 3e 20 20 77 61 73 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">..wasi</span>.<span.class=
fd240 22 6c 69 6e 65 22 3e 20 20 77 61 74 63 68 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">..watchos</span>.<span.cl
fd260 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 65 73 61 33 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">..mesa3d</span>.<span
fd280 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 6e 74 69 6b 69 3c 2f 73 70 61 6e 3e 0a 3c .class="line">..contiki</span>.<
fd2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 70 61 6c 3c 2f 73 70 61 6e span.class="line">..amdpal</span
fd2c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 7a 65 6e 3c 2f 73 70 61 6e >.<span.class="line">..zen</span
fd2e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 75 65 66 69 3c 2f 73 70 61 >.<span.class="line">..uefi</spa
fd300 6e 3e 0a 3c 73 70 61 6e 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
fd320 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 20 41 42 49 73 3a 3c 2f 73 70 61 6e 3e 0a pan.class="line">C.ABIs:</span>.
fd340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 6f 6e 65 3c 2f 73 70 61 6e 3e <span.class="line">..none</span>
fd360 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 20 28 6e 61 74 69 76 .<span.class="line">..gnu.(nativ
fd380 65 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 67 e)</span>.<span.class="line">..g
fd3a0 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
fd3c0 65 22 3e 20 20 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 e">..gnuabi64</span>.<span.class
fd3e0 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">..gnueabi</span>.<span.c
fd400 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c lass="line">..gnueabihf</span>.<
fd420 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 78 33 32 3c 2f 73 70 61 6e span.class="line">..gnux32</span
fd440 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 64 65 31 36 3c 2f 73 >.<span.class="line">..code16</s
fd460 70 61 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 61 62 69 3c 2f pan>.<span.class="line">..eabi</
fd480 73 70 61 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 61 62 69 68 span>.<span.class="line">..eabih
fd4a0 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 3e 20 20 61 6e f</span>.<span.class="line">..an
fd4c0 64 72 6f 69 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 droid</span>.<span.class="line">
fd4e0 20 20 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 ..musl</span>.<span.class="line"
fd500 3e 20 20 6d 75 73 6c 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 >..musleabi</span>.<span.class="
fd520 6c 69 6e 65 22 3e 20 20 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">..musleabihf</span>.<span.
fd540 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 73 76 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">..msvc</span>.<span
fd560 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 74 61 6e 69 75 6d 3c 2f 73 70 61 6e 3e 0a 3c .class="line">..itanium</span>.<
fd580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 79 67 6e 75 73 3c 2f 73 70 61 6e span.class="line">..cygnus</span
fd5a0 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 72 65 63 6c 72 3c 2f >.<span.class="line">..coreclr</
fd5c0 73 70 61 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 69 6d 75 6c span>.<span.class="line">..simul
fd5e0 61 74 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ator</span>.<span.class="line"><
fd600 2f 73 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 76 61 69 6c 61 /span>.<span.class="line">Availa
fd620 62 6c 65 20 6c 69 62 63 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ble.libcs:</span>.<span.class="l
fd640 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ine">..aarch64_be-linux-gnu</spa
fd660 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 36 34 5f n>.<span.class="line">..aarch64_
fd680 62 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 73 be-linux-musl</span>.<span.class
fd6a0 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ="line">..aarch64-linux-gnu</spa
fd6c0 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 36 34 2d n>.<span.class="line">..aarch64-
fd6e0 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 linux-musleabi</span>.<span.clas
fd700 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 65 61 62 69 3c 2f s="line">..armeb-linux-gnueabi</
fd720 73 70 61 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 72 6d 65 62 span>.<span.class="line">..armeb
fd740 2d 6c 69 6e 75 78 2d 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 -linux-gnueabihf</span>.<span.cl
fd760 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 6d 75 73 6c 65 61 62 ass="line">..armeb-linux-musleab
fd780 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 61 72 i</span>.<span.class="line">..ar
fd7a0 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 meb-linux-musleabihf</span>.<spa
fd7c0 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 6e 75 65 61 n.class="line">..arm-linux-gnuea
fd7e0 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 20 61 bi</span>.<span.class="line">..a
fd800 72 6d 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 rm-linux-gnueabihf</span>.<span.
fd820 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 73 6c 65 61 62 class="line">..arm-linux-musleab
fd840 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 61 72 i</span>.<span.class="line">..ar
fd860 6d 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 m-linux-musleabihf</span>.<span.
fd880 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 67 6e 75 3c 2f 73 class="line">..i386-linux-gnu</s
fd8a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 33 38 36 2d 6c pan>.<span.class="line">..i386-l
fd8c0 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 6c 69 inux-musl</span>.<span.class="li
fd8e0 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 36 34 3c 2f 73 ne">..mips64el-linux-gnuabi64</s
fd900 70 61 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
fd920 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 6e 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 el-linux-gnuabin32</span>.<span.
fd940 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 6d 75 class="line">..mips64el-linux-mu
fd960 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 6d sl</span>.<span.class="line">..m
fd980 69 70 73 36 34 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 ips64-linux-gnuabi64</span>.<spa
fd9a0 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 78 2d 67 6e n.class="line">..mips64-linux-gn
fd9c0 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 65 uabin32</span>.<span.class="line
fd9e0 22 3e 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">..mips64-linux-musl</span>.<sp
fda00 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 78 2d 67 an.class="line">..mipsel-linux-g
fda20 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 20 6d nu</span>.<span.class="line">..m
fda40 69 70 73 65 6c 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 ipsel-linux-musl</span>.<span.cl
fda60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ass="line">..mips-linux-gnu</spa
fda80 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 2d 6c 69 6e n>.<span.class="line">..mips-lin
fdaa0 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 6c 69 6e 65 ux-musl</span>.<span.class="line
fdac0 22 3e 20 20 6e 69 6f 73 32 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">..nios2-linux-gnu</span>.<span
fdae0 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 6c 65 2d 6c 69 6e 75 .class="line">..powerpc64le-linu
fdb00 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 6e 65 22 3e x-gnu</span>.<span.class="line">
fdb20 20 20 70 6f 77 65 72 70 63 36 34 6c 65 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a ..powerpc64le-linux-musl</span>.
fdb40 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 34 2d 6c <span.class="line">..powerpc64-l
fdb60 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 6e inux-gnu</span>.<span.class="lin
fdb80 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e e">..powerpc64-linux-musl</span>
fdba0 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 2d 6c 69 .<span.class="line">..powerpc-li
fdbc0 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 6e 65 nux-gnu</span>.<span.class="line
fdbe0 22 3e 20 20 70 6f 77 65 72 70 63 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 ">..powerpc-linux-musl</span>.<s
fdc00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 33 32 2d 6c 69 6e 75 78 pan.class="line">..riscv32-linux
fdc20 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 3e -musl</span>.<span.class="line">
fdc40 20 20 72 69 73 63 76 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 ..riscv64-linux-gnu</span>.<span
fdc60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 36 34 2d 6c 69 6e 75 78 2d 6d 75 .class="line">..riscv64-linux-mu
fdc80 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 73 sl</span>.<span.class="line">..s
fdca0 33 39 30 78 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 390x-linux-gnu</span>.<span.clas
fdcc0 73 3d 22 6c 69 6e 65 22 3e 20 20 73 33 39 30 78 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 s="line">..s390x-linux-musl</spa
fdce0 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 2d 6c 69 n>.<span.class="line">..sparc-li
fdd00 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 6e 65 nux-gnu</span>.<span.class="line
fdd20 22 3e 20 20 73 70 61 72 63 76 39 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">..sparcv9-linux-gnu</span>.<sp
fdd40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 an.class="line">..wasm32-freesta
fdd60 6e 64 69 6e 67 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 nding-musl</span>.<span.class="l
fdd80 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 2d 77 61 73 69 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c ine">..wasm32-wasi-musl</span>.<
fdda0 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 6e 75 78 span.class="line">..x86_64-linux
fddc0 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">.
fdde0 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 78 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .x86_64-linux-gnux32</span>.<spa
fde00 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 6e 75 78 2d 6d 75 n.class="line">..x86_64-linux-mu
fde20 73 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 65 3e sl</span>.</samp></pre></figure>
fde40 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 .......<p>.......The.Zig.Standar
fde60 64 20 4c 69 62 72 61 72 79 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d.Library.(<code><span.class="li
fde80 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
fdea0 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
fdec0 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 73 70 61 6e r">&quot;std&quot;</span>)</span
fdee0 3e 3c 2f 63 6f 64 65 3e 29 20 68 61 73 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 65 6e 76 69 ></code>).has.architecture,.envi
fdf00 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0a 20 20 ronment,.and.operating.system...
fdf20 20 20 20 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 75 73 20 74 61 6b 65 73 ....abstractions,.and.thus.takes
fdf40 20 61 64 64 69 74 69 6f 6e 61 6c 20 77 6f 72 6b 20 74 6f 20 73 75 70 70 6f 72 74 20 6d 6f 72 65 .additional.work.to.support.more
fdf60 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 4e 6f 74 20 61 6c 6c 20 73 74 61 6e 64 61 .platforms........Not.all.standa
fdf80 72 64 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 72 65 71 75 69 72 65 73 20 6f 70 65 72 61 74 69 rd.library.code.requires.operati
fdfa0 6e 67 20 73 79 73 74 65 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 68 6f 77 65 76 65 72 2c ng.system.abstractions,.however,
fdfc0 0a 20 20 20 20 20 20 73 6f 20 74 68 69 6e 67 73 20 73 75 63 68 20 61 73 20 67 65 6e 65 72 69 63 .......so.things.such.as.generic
fdfe0 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 77 6f 72 6b 20 6f 6e 20 61 6c 6c 20 61 62 6f .data.structures.work.on.all.abo
fe000 76 65 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 20 3c ve.platforms........</p>.......<
fe020 70 3e 54 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 6f 66 20 74 61 72 67 65 74 73 20 73 75 p>The.current.list.of.targets.su
fe040 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 pported.by.the.Zig.Standard.Libr
fe060 61 72 79 20 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 ary.is:</p>.......<ul>.......<li
fe080 3e 4c 69 6e 75 78 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e >Linux.x86_64</li>.......<li>Win
fe0a0 64 6f 77 73 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 6d 61 63 4f 53 dows.x86_64</li>.......<li>macOS
fe0c0 20 78 38 36 5f 36 34 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 .x86_64</li>.......</ul>........
fe0e0 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 3c 61 20 68 72 ......<h2.id="Style-Guide"><a.hr
fe100 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 ef="nav.xhtml#toc-Style-Guide">S
fe120 74 79 6c 65 20 47 75 69 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 tyle.Guide</a>.<a.class="hdr".hr
fe140 65 66 3d 22 23 53 74 79 6c 65 2d 47 75 69 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 ef="#Style-Guide">..</a></h2>...
fe160 20 20 20 20 20 3c 70 3e 0a 54 68 65 73 65 20 63 6f 64 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e .....<p>.These.coding.convention
fe180 73 20 61 72 65 20 6e 6f 74 20 65 6e 66 6f 72 63 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c s.are.not.enforced.by.the.compil
fe1a0 65 72 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 73 68 69 70 70 65 64 20 69 6e 0a 74 68 69 73 er,.but.they.are.shipped.in.this
fe1c0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 63 6f .documentation.along.with.the.co
fe1e0 6d 70 69 6c 65 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 6f 69 mpiler.in.order.to.provide.a.poi
fe200 6e 74 20 6f 66 0a 72 65 66 65 72 65 6e 63 65 2c 20 73 68 6f 75 6c 64 20 61 6e 79 6f 6e 65 20 77 nt.of.reference,.should.anyone.w
fe220 69 73 68 20 74 6f 20 70 6f 69 6e 74 20 74 6f 20 61 6e 20 61 75 74 68 6f 72 69 74 79 20 6f 6e 20 ish.to.point.to.an.authority.on.
fe240 61 67 72 65 65 64 20 75 70 6f 6e 20 5a 69 67 0a 63 6f 64 69 6e 67 20 73 74 79 6c 65 2e 0a 20 20 agreed.upon.Zig.coding.style....
fe260 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 69 74 65 73 70 61 63 ....</p>.......<h3.id="Whitespac
fe280 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 57 68 69 74 65 73 e"><a.href="nav.xhtml#toc-Whites
fe2a0 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 73 3d 22 68 pace">Whitespace</a>.<a.class="h
fe2c0 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 3e 3c 2f 68 dr".href="#Whitespace">..</a></h
fe2e0 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 20 20 20 20 3>........<ul>.........<li>.....
fe300 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 20 20 20 20 ......4.space.indentation.......
fe320 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 4f ..</li>.........<li>...........O
fe340 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 65 73 73 20 pen.braces.on.same.line,.unless.
fe360 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 6c 69 3e 0a you.need.to.wrap..........</li>.
fe380 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 6e 67 73 20 ........<li>If.a.list.of.things.
fe3a0 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 74 65 6d 20 is.longer.than.2,.put.each.item.
fe3c0 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 20 20 65 78 on.its.own.line.and...........ex
fe3e0 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 20 65 78 74 ercise.the.ability.to.put.an.ext
fe400 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 20 3c 2f 6c ra.comma.at.the.end..........</l
fe420 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 6e 65 20 6c i>.........<li>...........Line.l
fe440 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 6f 6e 20 73 ength:.aim.for.100;.use.common.s
fe460 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 75 6c 3e 0a ense..........</li>.......</ul>.
fe480 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 3c 61 20 68 .............<h3.id="Names"><a.h
fe4a0 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c ref="nav.xhtml#toc-Names">Names<
fe4c0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 22 /a>.<a.class="hdr".href="#Names"
fe4e0 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 52 6f >..</a></h3>........<p>.......Ro
fe500 75 67 68 6c 79 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 ughly.speaking:.<code><span.clas
fe520 73 3d 22 6c 69 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 s="line">camelCaseFunctionName</
fe540 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=
fe560 22 6c 69 6e 65 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 "line">TitleCaseTypeName</span><
fe580 2f 63 6f 64 65 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 /code>,...............<code><spa
fe5a0 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 5f 76 61 72 69 61 62 n.class="line">snake_case_variab
fe5c0 6c 65 5f 6e 61 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 le_name</span></code>..More.prec
fe5e0 69 73 65 6c 79 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 isely:.......</p>.......<ul>....
fe600 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c .....<li>.............If.<code><
fe620 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 64 65 span.class="line">x</span></code
fe640 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e >.is.a.<code><span.class="line">
fe660 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
fe680 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 74 68 65 n></span></code>.............the
fe6a0 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 n.<code><span.class="line">x</sp
fe6c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e an></code>.should.be.<code><span
fe6e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f .class="line">TitleCase</span></
fe700 63 6f 64 65 3e 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 code>,.unless.it.............is.
fe720 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
fe740 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-kw">struct</span></s
fe760 70 61 6e 3e 3c 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 pan></code>.with.0.fields.and.is
fe780 20 6e 65 76 65 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 .never.meant.to.be.instantiated,
fe7a0 0a 20 20 20 20 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 .............in.which.case.it.is
fe7c0 20 63 6f 6e 73 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 .considered.to.be.a."namespace".
fe7e0 61 6e 64 20 75 73 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 and.uses.<code><span.class="line
fe800 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 ">snake_case</span></code>......
fe820 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ....</li>.........<li>..........
fe840 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 78 ...If.<code><span.class="line">x
fe860 3c 2f 73 70 61 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 </span></code>.is.callable,.and.
fe880 3c 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
fe8a0 3e 3c 2f 63 6f 64 65 3e 27 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 0a 20 20 20 20 20 20 ></code>'s.return.type.is.......
fe8c0 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"><
fe8e0 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
fe900 3e 3c 2f 73 70 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 ></span></code>,.then.<code><spa
fe920 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 20 73 n.class="line">x</span></code>.s
fe940 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 hould.be.<code><span.class="line
fe960 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 2e 0a 20 20 20 20 20 ">TitleCase</span></code>.......
fe980 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>...........
fe9a0 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 78 3c ..If.<code><span.class="line">x<
fe9c0 2f 73 70 61 6e 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 /span></code>.is.otherwise.calla
fe9e0 62 6c 65 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ble,.then.<code><span.class="lin
fea00 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 0a 20 20 20 20 20 20 e">x</span></code>.should.......
fea20 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......be.<code><span.class="line
fea40 22 3e 63 61 6d 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 ">camelCase</span></code>.......
fea60 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>...........
fea80 20 20 4f 74 68 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 ..Otherwise,.<code><span.class="
feaa0 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 line">x</span></code>.should.be.
feac0 3c 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 6b 65 5f 63 <code><span.class="line">snake_c
feae0 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 6c 69 3e ase</span></code>..........</li>
feb00 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 41 63 72 .......</ul>.......<p>.......Acr
feb20 6f 6e 79 6d 73 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 onyms,.initialisms,.proper.nouns
feb40 2c 20 6f 72 20 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 ,.or.any.other.word.that.has.cap
feb60 69 74 61 6c 69 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 italization.......rules.in.writt
feb80 65 6e 20 45 6e 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 en.English.are.subject.to.naming
feba0 20 63 6f 6e 76 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 .conventions.just.like.any.other
febc0 0a 20 20 20 20 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 .......word..Even.acronyms.that.
febe0 61 72 65 20 6f 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 are.only.2.letters.long.are.subj
fec00 65 63 74 20 74 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 ect.to.these.......conventions..
fec20 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 69 6c 65 20 ......</p>.......<p>.......File.
fec40 6e 61 6d 65 73 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 names.fall.into.two.categories:.
fec60 74 79 70 65 73 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 types.and.namespaces..If.the.fil
fec80 65 0a 20 20 20 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 e.......(implicitly.a.struct).ha
feca0 73 20 74 6f 70 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 s.top.level.fields,.it.should.be
fecc0 20 6e 61 6d 65 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 .named.like.any.......other.stru
fece0 63 74 20 77 69 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 ct.with.fields.using.<code.class
fed00 3d 22 66 69 6c 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 ="file">TitleCase</code>..Otherw
fed20 69 73 65 2c 0a 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 ise,.......it.should.use.<code.c
fed40 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 20 44 lass="file">snake_case</code>..D
fed60 69 72 65 63 74 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 irectory.names.should.be.......<
fed80 63 6f 64 65 20 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 code.class="file">snake_case</co
feda0 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 de>........</p>.......<p>.......
fedc0 54 68 65 73 65 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 These.are.general.rules.of.thumb
fede0 3b 20 69 66 20 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 ;.if.it.makes.sense.to.do.someth
fee00 69 6e 67 20 64 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 ing.different,.......do.what.mak
fee20 65 73 20 73 65 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 es.sense..For.example,.if.there.
fee40 69 73 20 61 6e 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 is.an.established.convention.suc
fee60 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 73 3d 22 6c 69 h.as.......<code><span.class="li
fee80 6e 65 22 3e 45 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 ne">ENOENT</span></code>,.follow
feea0 20 74 68 65 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 .the.established.convention.....
feec0 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 45 78 61 ...</p>..............<h3.id="Exa
feee0 6d 70 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 78 mples"><a.href="nav.xhtml#toc-Ex
fef00 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 amples">Examples</a>.<a.class="h
fef20 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#Examples">..</a></h3>
fef40 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
fef60 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
fef80 74 79 6c 65 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 tyle_example.zig</cite></figcapt
fefa0 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
fefc0 22 3e 3c 73 70 61 6e 20 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
fefe0 61 6e 3e 20 6e 61 6d 65 73 70 61 63 65 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 an>.namespace_name.=.<span.class
ff000 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
ff020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 pan.class="tok-str">&quot;dir_na
ff040 6d 65 2f 66 69 6c 65 5f 6e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c me/file_name.zig&quot;</span>);<
ff060 2f 73 70 61 6e 3e 0a 3c 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.
ff080 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 class="tok-kw">const</span>.Type
ff0a0 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 Name.=.<span.class="tok-builtin"
ff0c0 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
ff0e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 6d 65 2f 54 79 70 65 4e 61 6d 65 2e 7a 69 -str">&quot;dir_name/TypeName.zi
ff100 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 6c g&quot;</span>);</span>.<span.cl
ff120 61 73 73 3d 22 6c 69 6e 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">
ff140 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 76 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 var</span>.global_var:.<span.cla
ff160 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
ff180 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
ff1a0 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
ff1c0 70 61 6e 20 63 6c 61 73 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>.
ff1e0 63 6f 6e 73 74 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 const_name.=.<span.class="tok-nu
ff200 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">42</span>;</span>.<span.cl
ff220 61 73 73 3d 22 6c 69 6e 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">
ff240 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 69 74 69 76 65 5f 74 79 70 65 5f 61 6c 69 61 const</span>.primitive_type_alia
ff260 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f s.=.<span.class="tok-type">f32</
ff280 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"
ff2a0 3e 3c 73 70 61 6e 20 63 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
ff2c0 6e 3e 20 73 74 72 69 6e 67 5f 61 6c 69 61 73 20 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.string_alias.=.[]<span.class=
ff2e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "tok-type">u8</span>;</span>.<sp
ff300 61 6e 20 63 6c 61 73 73 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
ff320 61 73 73 3d 22 6c 69 6e 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">
ff340 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 63 74 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 const</span>.StructName.=.<span.
ff360 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>.{</
ff380 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 span>.<span.class="line">....fie
ff3a0 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f ld:.<span.class="tok-type">i32</
ff3c0 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"
ff3e0 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
ff400 70 61 6e 20 63 6c 61 73 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>.
ff420 53 74 72 75 63 74 41 6c 69 61 73 20 3d 20 53 74 72 75 63 74 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e StructAlias.=.StructName;</span>
ff440 0a 3c 73 70 61 6e 20 63 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
ff460 6e 20 63 6c 61 73 73 3d 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-
ff480 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
ff4a0 6e 22 3e 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 70 61 72 61 6d 5f 6e 61 6d n">functionName</span>(param_nam
ff4c0 65 3a 20 54 79 70 65 4e 61 6d 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 e:.TypeName).<span.class="tok-ty
ff4e0 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
ff500 6c 61 73 73 3d 22 6c 69 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
ff520 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 -kw">var</span>.functionPointer.
ff540 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 =.functionName;</span>.<span.cla
ff560 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 29 3b ss="line">....functionPointer();
ff580 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....f
ff5a0 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 69 6f 6e 3b 3c unctionPointer.=.otherFunction;<
ff5c0 2f 73 70 61 6e 3e 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 75 /span>.<span.class="line">....fu
ff5e0 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 63 6c nctionPointer();</span>.<span.cl
ff600 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=
ff620 22 6c 69 6e 65 22 3e 3c 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
ff640 74 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 74 69 6f 6e 41 6c 69 61 73 20 3d 20 66 75 6e 63 74 69 6f t</span>.functionAlias.=.functio
ff660 6e 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 nName;</span>.<span.class="line"
ff680 3e 3c 2f 73 70 61 6e 3e 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
ff6a0 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
ff6c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 54 65 6d 70 6c 61 74 65 46 75 6e 63 .class="tok-fn">ListTemplateFunc
ff6e0 74 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 tion</span>(<span.class="tok-kw"
ff700 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a 20 3c 73 70 61 >comptime</span>.ChildType:.<spa
ff720 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>,.
ff740 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
ff760 70 61 6e 3e 20 66 69 78 65 64 5f 73 69 7a 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.fixed_size:.<span.class="to
ff780 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 k-type">usize</span>).<span.clas
ff7a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">type</span>.{</span
ff7c0 3e 0a 3c 73 70 61 6e 20 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
ff7e0 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 4c 69 73 74 lass="tok-kw">return</span>.List
ff800 28 43 68 69 6c 64 54 79 70 65 2c 20 66 69 78 65 64 5f 73 69 7a 65 29 3b 3c 2f 73 70 61 6e 3e 0a (ChildType,.fixed_size);</span>.
ff820 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
ff840 6e 20 63 6c 61 73 73 3d 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
ff860 73 73 3d 22 6c 69 6e 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
ff880 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 53 68 n</span>.<span.class="tok-fn">Sh
ff8a0 6f 72 74 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ortList</span>(<span.class="tok-
ff8c0 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 kw">comptime</span>.T:.<span.cla
ff8e0 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 6e ss="tok-type">type</span>,.<span
ff900 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>.
ff920 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c n:.<span.class="tok-type">usize<
ff940 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
ff960 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=
ff980 22 6c 69 6e 65 22 3e 20 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">
ff9a0 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
ff9c0 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.
ff9e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 69 65 6c 64 5f 6e 61 6d 65 3a class="line">........field_name:
ffa00 20 5b 6e 5d 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .[n]T,</span>.<span.class="line"
ffa20 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 66 6e >........<span.class="tok-kw">fn
ffa40 3c 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 65 74 </span>.<span.class="tok-fn">met
ffa60 68 6f 64 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f hodName</span>().<span.class="to
ffa80 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 k-type">void</span>.{}</span>.<s
ffaa0 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>.<
ffac0 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
ffae0 20 63 6c 61 73 73 3d 22 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
ffb00 73 3d 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
ffb20 74 22 3e 2f 2f 20 54 68 65 20 77 6f 72 64 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 73 20 63 61 73 t">//.The.word.XML.loses.its.cas
ffb40 69 6e 67 20 77 68 65 6e 20 75 73 65 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 73 ing.when.used.in.Zig.identifiers
ffb60 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
ffb80 65 22 3e 3c 73 70 61 6e 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
ffba0 70 61 6e 3e 20 78 6d 6c 5f 64 6f 63 75 6d 65 6e 74 20 3d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan>.xml_document.=</span>.<span
ffbc0 20 63 6c 61 73 73 3d 22 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
ffbe0 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 26 71 75 6f 74 ok-str">\\&lt;?xml.version=&quot
ffc00 3b 31 2e 30 26 71 75 6f 74 3b 20 65 6e 63 6f 64 69 6e 67 3d 26 71 75 6f 74 3b 55 54 46 2d 38 26 ;1.0&quot;.encoding=&quot;UTF-8&
ffc20 71 75 6f 74 3b 3f 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 quot;?&gt;</span></span>.<span.c
ffc40 6c 61 73 73 3d 22 6c 69 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
ffc60 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 64 6f 63 75 6d 65 6e 74 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c -str">\\&lt;document&gt;</span><
ffc80 2f 73 70 61 6e 3e 0a 3c 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
ffca0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 2f 64 6f 63 75 6d pan.class="tok-str">\\&lt;/docum
ffcc0 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 6c 61 73 ent&gt;</span></span>.<span.clas
ffce0 73 3d 22 6c 69 6e 65 22 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">;</span>.<span.class="l
ffd00 69 6e 65 22 3e 3c 73 70 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<
ffd20 2f 73 70 61 6e 3e 20 58 6d 6c 50 61 72 73 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.XmlParser.=.<span.class="
ffd40 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>.<
ffd60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 span.class="line">....field:.<sp
ffd80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c an.class="tok-type">i32</span>,<
ffda0 2f 73 70 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
ffdc0 61 6e 3e 0a 3c 73 70 61 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>.<
ffde0 73 70 61 6e 20 63 6c 61 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
ffe00 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 69 6e 69 74 69 61 6c 73 20 42 45 20 28 ok-comment">//.The.initials.BE.(
ffe20 42 69 67 20 45 6e 64 69 61 6e 29 20 61 72 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 77 6f 72 Big.Endian).are.just.another.wor
ffe40 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c 2f 73 70 61 6e d.in.Zig.identifier.names.</span
ffe60 3e 3c 2f 73 70 61 6e 3e 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
ffe80 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
ffea0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 55 33 32 42 65 3c 2f 73 70 61 6e 3e .class="tok-fn">readU32Be</span>
ffec0 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 33 32 3c 2f 73 ().<span.class="tok-type">u32</s
ffee0 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 pan>.{}</span></code></pre></fig
fff00 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 65 20 74 68 65 20 3c 61 20 ure>.......<p>.......See.the.<a.
fff20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 href="#Zig-Standard-Library">Zig
fff40 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 6f 72 65 20 65 .Standard.Library</a>.for.more.e
fff60 78 61 6d 70 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 xamples........</p>.............
fff80 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 3c .<h3.id="Doc-Comment-Guidance"><
fffa0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e a.href="nav.xhtml#toc-Doc-Commen
fffc0 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 20 47 75 69 64 61 6e 63 65 t-Guidance">Doc.Comment.Guidance
fffe0 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 63 2d 43 </a>.<a.class="hdr".href="#Doc-C
100000 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 omment-Guidance">..</a></h3>....
100020 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6d 69 74 20 61 6e 79 20 69 6e ....<ul>.........<li>Omit.any.in
100040 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 72 65 64 75 6e 64 61 6e 74 20 62 61 73 65 formation.that.is.redundant.base
100060 64 20 6f 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 68 69 6e 67 20 62 65 69 6e 67 d.on.the.name.of.the.thing.being
100080 20 64 6f 63 75 6d 65 6e 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 75 .documented.</li>.........<li>Du
1000a0 70 6c 69 63 61 74 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 74 6f 20 6d 75 6c 74 69 plicating.information.onto.multi
1000c0 70 6c 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 73 20 69 73 20 65 6e 63 6f 75 72 61 ple.similar.functions.is.encoura
1000e0 67 65 64 20 62 65 63 61 75 73 65 20 69 74 20 68 65 6c 70 73 20 49 44 45 73 20 61 6e 64 20 6f 74 ged.because.it.helps.IDEs.and.ot
100100 68 65 72 20 74 6f 6f 6c 73 20 70 72 6f 76 69 64 65 20 62 65 74 74 65 72 20 68 65 6c 70 20 74 65 her.tools.provide.better.help.te
100120 78 74 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 65 20 77 6f 72 xt.</li>.........<li>Use.the.wor
100140 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 75 6d 65 3c 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 69 6e 64 d.<strong>assume</strong>.to.ind
100160 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 20 3c 61 20 68 icate.invariants.that.cause.<a.h
100180 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
1001a0 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c ned.Behavior</a>.when.violated.<
1001c0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 77 6f 72 64 20 3c 73 /li>.........<li>Use.the.word.<s
1001e0 74 72 6f 6e 67 3e 61 73 73 65 72 74 3c 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 trong>assert</strong>.to.indicat
100200 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 61 75 73 65 20 3c 65 6d 3e 73 61 66 65 e.invariants.that.cause.<em>safe
100220 74 79 2d 63 68 65 63 6b 65 64 3c 2f 65 6d 3e 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 ty-checked</em>.<a.href="#Undefi
100240 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 ned-Behavior">Undefined.Behavior
100260 3c 2f 61 3e 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c </a>.when.violated.</li>.......<
100280 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d /ul>.....................<h2.id=
1002a0 22 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 "Source-Encoding"><a.href="nav.x
1002c0 68 74 6d 6c 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 html#toc-Source-Encoding">Source
1002e0 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
100300 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>
100320 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
100340 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
100360 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
100380 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
1003a0 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
1003c0 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
1003e0 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
100400 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
100420 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),
100440 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
100460 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,
100480 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>.
1004a0 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
1004c0 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
1004e0 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>.......<
100500 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
100520 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
100540 64 65 3e 3c 73 70 61 6e 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
100560 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></
100580 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
1005a0 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
1005c0 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
1005e0 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
100600 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
100620 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
100640 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
100660 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
100680 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
1006a0 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
1006c0 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
1006e0 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,.
100700 3c 63 6f 64 65 3e 3c 73 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
100720 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
100740 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
100760 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
100780 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.
1007a0 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....
1007c0 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
1007e0 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
100800 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
100820 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'</
100840 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
100860 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
100880 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
1008a0 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
1008c0 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
1008e0 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
100900 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.
100920 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
100940 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>.....
100960 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
100980 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
1009a0 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
1009c0 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.
1009e0 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
100a00 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
100a20 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
100a40 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-
100a60 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
100a80 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........
100aa0 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
100ac0 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
100ae0 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
100b00 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
100b20 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
100b40 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,.
100b60 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
100b80 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
100ba0 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
100bc0 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.
100be0 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.
100c00 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
100c20 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
100c40 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
100c60 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
100c80 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
100ca0 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
100cc0 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
100ce0 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.
100d00 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
100d20 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
100d40 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"
100d60 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
100d80 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
100da0 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
100dc0 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>....
100de0 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
100e00 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4b 65 79 ence"><a.href="nav.xhtml#toc-Key
100e20 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e 63 word-Reference">Keyword.Referenc
100e40 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 4b 65 79 77 e</a>.<a.class="hdr".href="#Keyw
100e60 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 ord-Reference">..</a></h2>......
100e80 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 20 ..<div.class="table-wrapper">...
100ea0 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 4b 65 79 ....<table>.........<caption>Key
100ec0 77 6f 72 64 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a words</caption>.........<thead>.
100ee0 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
100f00 3d 22 63 6f 6c 22 3e 4b 65 79 77 6f 72 64 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ="col">Keyword</th>...........<t
100f20 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 20 h.scope="col">Description</th>..
100f40 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 20 .......</tr>.........</thead>...
100f60 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 20 ......<tbody>.........<tr>......
100f80 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">...........
100fa0 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">
100fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e <span.class="tok-kw">align</span
100fe0 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>...........
101000 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>............
101020 20 3c 63 6f 64 65 3e 3c 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.
101040 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-kw">align</span></spa
101060 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 n></code>.can.be.used.to.specify
101080 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 .the.alignment.of.a.pointer.....
1010a0 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 61 66 74 .........It.can.also.be.used.aft
1010c0 65 72 20 61 20 76 61 72 69 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 er.a.variable.or.function.declar
1010e0 61 74 69 6f 6e 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f ation.to.specify.the.alignment.o
101100 66 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 20 6f 72 20 66 f.pointers.to.that.variable.or.f
101120 75 6e 63 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 unction..............<ul>.......
101140 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
101160 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 3e 0a 20 20 20 lignment">Alignment</a></li>....
101180 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>..
1011a0 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>.......
1011c0 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">............
1011e0 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"><
101200 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 span.class="tok-kw">allowzero</s
101220 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>........
101240 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 ...</th>...........<td>.........
101260 20 20 20 20 54 68 65 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 20 3c 63 6f 64 65 3e ....The.pointer.attribute.<code>
101280 3c 73 70 61 6e 20 63 6c 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="
1012a0 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 6e 3e 3c tok-kw">allowzero</span></span><
1012c0 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 68 61 76 65 20 /code>.allows.a.pointer.to.have.
1012e0 61 64 64 72 65 73 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 address.zero..............<ul>..
101300 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
101320 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 f="#allowzero">allowzero</a></li
101340 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>...........</
101360 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>..
101380 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">.......
1013a0 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
1013c0 6e 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 3c 2f 73 70 ne"><span.class="tok-kw">and</sp
1013e0 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>.........
101400 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>..........
101420 20 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 ...The.boolean.operator.<code><s
101440 70 61 6e 20 63 6c 61 73 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
101460 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a k-kw">and</span></span></code>..
101480 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>...............<
1014a0 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 li>See.also.<a.href="#Operators"
1014c0 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 20 20 20 20 20 >Operators</a></li>.............
1014e0 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>.........</
101500 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
101520 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
101540 64 65 3e 3c 73 70 61 6e 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
101560 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
101580 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>..
1015a0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e .........<td>.............<code>
1015c0 3c 73 70 61 6e 20 63 6c 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="
1015e0 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 3e 3c 2f tok-kw">anyframe</span></span></
101600 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 74 79 70 65 20 66 6f 72 20 code>.can.be.used.as.a.type.for.
101620 76 61 72 69 61 62 6c 65 73 20 77 68 69 63 68 20 68 6f 6c 64 20 70 6f 69 6e 74 65 72 73 20 74 6f variables.which.hold.pointers.to
101640 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 .function.frames..............<u
101660 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
101680 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 .href="#Async-Functions">Async.F
1016a0 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>.............</
1016c0 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
1016e0 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
101700 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
101720 3e 3c 73 70 61 6e 20 63 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=
101740 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></
101760 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>.....
101780 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 ......<td>.............Function.
1017a0 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 20 63 61 6e parameters.and.struct.fields.can
1017c0 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .be.declared.with.<code><span.cl
1017e0 61 73 73 3d 22 6c 69 6e 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">
101800 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 69 6e 20 anytype</span></span></code>.in.
101820 70 6c 61 63 65 20 6f 66 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 place.of.the.type..............T
101840 68 65 20 74 79 70 65 20 77 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 64 20 77 68 65 72 65 20 74 he.type.will.be.inferred.where.t
101860 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 6f 72 20 74 68 65 20 73 74 72 he.function.is.called.or.the.str
101880 75 63 74 20 69 73 20 69 6e 73 74 61 6e 74 69 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 uct.is.instantiated.............
1018a0 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
1018c0 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 .<a.href="#Function-Parameter-Ty
1018e0 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 pe-Inference">Function.Parameter
101900 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .Type.Inference</a></li>........
101920 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>......
101940 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>...........
101960 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
101980 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
1019a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .class="tok-kw">asm</span></span
1019c0 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>..
1019e0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e .........<td>.............<code>
101a00 3c 73 70 61 6e 20 63 6c 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="
101a20 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 3c 2f 63 6f 64 65 3e tok-kw">asm</span></span></code>
101a40 20 62 65 67 69 6e 73 20 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 .begins.an.inline.assembly.expre
101a60 73 73 69 6f 6e 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 64 69 72 65 63 74 6c 79 20 ssion..This.allows.for.directly.
101a80 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 67 65 6e controlling.the.machine.code.gen
101aa0 65 72 61 74 65 64 20 6f 6e 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 erated.on.compilation...........
101ac0 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
101ae0 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c so.<a.href="#Assembly">Assembly<
101b00 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>......
101b20 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>........
101b40 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">
101b60 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
101b80 61 73 73 3d 22 6c 69 6e 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">
101ba0 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 3c 2f 70 72 65 3e async</span></span></code></pre>
101bc0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</th>...........<td>.
101be0 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ............<code><span.class="l
101c00 69 6e 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 ine"><span.class="tok-kw">async<
101c20 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
101c40 20 62 65 66 6f 72 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 74 6f 20 67 65 74 20 61 .before.a.function.call.to.get.a
101c60 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 .pointer.to.the.function's.frame
101c80 20 77 68 65 6e 20 69 74 20 73 75 73 70 65 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c .when.it.suspends..............<
101ca0 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.<
101cc0 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 a.href="#Async-Functions">Async.
101ce0 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 3c Functions</a></li>.............<
101d00 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
101d20 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
101d40 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
101d60 65 3e 3c 73 70 61 6e 20 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
101d80 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 6e 3e 3c 2f 63 ="tok-kw">await</span></span></c
101da0 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>......
101dc0 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
101de0 6e 20 63 6c 61 73 73 3d 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-
101e00 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 63 kw">await</span></span></code>.c
101e20 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 75 73 70 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e an.be.used.to.suspend.the.curren
101e40 74 20 66 75 6e 63 74 69 6f 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 72 61 6d 65 20 70 72 6f 76 69 t.function.until.the.frame.provi
101e60 64 65 64 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 ded.after.the.<code><span.class=
101e80 22 6c 69 6e 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
101ea0 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 70 6c 65 74 65 73 t</span></span></code>.completes
101ec0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..............<code><span.class=
101ee0 22 6c 69 6e 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
101f00 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 70 69 65 73 20 74 68 t</span></span></code>.copies.th
101f20 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74 e.value.returned.from.the.target
101f40 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 2e .function's.frame.to.the.caller.
101f60 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>...............
101f80 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 6e <li>See.also.<a.href="#Async-Fun
101fa0 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 3e ctions">Async.Functions</a></li>
101fc0 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
101fe0 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>...
102000 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">........
102020 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
102040 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 e"><span.class="tok-kw">break</s
102060 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>........
102080 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 ...</th>...........<td>.........
1020a0 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
1020c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">break</span></
1020e0 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 77 69 74 68 20 61 20 span></code>.can.be.used.with.a.
102100 62 6c 6f 63 6b 20 6c 61 62 65 6c 20 74 6f 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 block.label.to.return.a.value.fr
102120 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e om.the.block..............It.can
102140 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 65 78 69 74 20 61 20 6c 6f 6f 70 20 62 65 66 .also.be.used.to.exit.a.loop.bef
102160 6f 72 65 20 69 74 65 72 61 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 73 20 6e 61 74 75 72 61 6c 6c ore.iteration.completes.naturall
102180 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 y..............<ul>.............
1021a0 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 62 6c 6f 63 6b 73 22 ..<li>See.also.<a.href="#blocks"
1021c0 3e 62 6c 6f 63 6b 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 >blocks</a>,.<a.href="#while">wh
1021e0 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c ile</a>,.<a.href="#for">for</a><
102200 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>..........
102220 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
102240 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">....
102260 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=
102280 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 "line"><span.class="tok-kw">catc
1022a0 68 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 h</span></span></code></pre>....
1022c0 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</th>...........<td>.....
1022e0 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ........<code><span.class="line"
102300 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 ><span.class="tok-kw">catch</spa
102320 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 n></span></code>.can.be.used.to.
102340 65 76 61 6c 75 61 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 evaluate.an.expression.if.the.ex
102360 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 pression.before.it.evaluates.to.
102380 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 an.error..............The.expres
1023a0 73 69 6f 6e 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 sion.after.the.<code><span.class
1023c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 ="line"><span.class="tok-kw">cat
1023e0 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 6f 70 74 69 ch</span></span></code>.can.opti
102400 6f 6e 61 6c 6c 79 20 63 61 70 74 75 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2e 0a onally.capture.the.error.value..
102420 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>...............<
102440 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 63 61 74 63 68 22 3e 63 61 74 li>See.also.<a.href="#catch">cat
102460 63 68 3c 2f 61 3e 2c 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 ch</a>,.<a.href="#Operators">Ope
102480 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c rators</a></li>.............</ul
1024a0 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>.
1024c0 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
1024e0 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><
102500 73 70 61 6e 20 63 6c 61 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
102520 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">comptime</span></span></c
102540 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>......
102560 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
102580 6e 20 63 6c 61 73 73 3d 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-
1025a0 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
1025c0 3e 20 62 65 66 6f 72 65 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 >.before.a.declaration.can.be.us
1025e0 65 64 20 74 6f 20 6c 61 62 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 66 75 6e 63 74 69 6f ed.to.label.variables.or.functio
102600 6e 20 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 n.parameters.as.known.at.compile
102620 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 73 6f 20 62 .time..............It.can.also.b
102640 65 20 75 73 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f e.used.to.guarantee.an.expressio
102660 6e 20 69 73 20 72 75 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 n.is.run.at.compile.time........
102680 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
1026a0 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 .also.<a.href="#comptime">compti
1026c0 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 0a 20 20 me</a></li>.............</ul>...
1026e0 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>.....
102700 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
102720 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
102740 20 63 6c 61 73 73 3d 22 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
102760 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 w">const</span></span></code></p
102780 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
1027a0 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
1027c0 3d 22 6c 69 6e 65 22 3e 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
1027e0 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 6c 61 72 65 73 st</span></span></code>.declares
102800 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 63 61 6e 20 6e 6f 74 20 62 65 20 6d 6f 64 69 .a.variable.that.can.not.be.modi
102820 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 64 20 61 73 20 61 20 70 6f 69 6e fied..............Used.as.a.poin
102840 74 65 72 20 61 74 74 72 69 62 75 74 65 2c 20 69 74 20 64 65 6e 6f 74 65 73 20 74 68 65 20 76 61 ter.attribute,.it.denotes.the.va
102860 6c 75 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 20 63 61 lue.referenced.by.the.pointer.ca
102880 6e 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 nnot.be.modified..............<u
1028a0 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
1028c0 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 3e .href="#Variables">Variables</a>
1028e0 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>.........
102900 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
102920 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">...
102940 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
102960 3d 22 6c 69 6e 65 22 3e 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
102980 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 70 72 65 3e tinue</span></span></code></pre>
1029a0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</th>...........<td>.
1029c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ............<code><span.class="l
1029e0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e ine"><span.class="tok-kw">contin
102a00 75 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 75 ue</span></span></code>.can.be.u
102a20 73 65 64 20 69 6e 20 61 20 6c 6f 6f 70 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 sed.in.a.loop.to.jump.back.to.th
102a40 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 20 20 e.beginning.of.the.loop.........
102a60 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 .....<ul>...............<li>See.
102a80 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 65 3c 2f 61 3e 2c also.<a.href="#while">while</a>,
102aa0 20 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 .<a.href="#for">for</a></li>....
102ac0 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>..
102ae0 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>.......
102b00 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">............
102b20 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"><
102b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e span.class="tok-kw">defer</span>
102b60 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>...........<
102b80 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 20 /th>...........<td>.............
102ba0 3c 63 6f 64 65 3e 3c 73 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
102bc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-kw">defer</span></span
102be0 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 ></code>.will.execute.an.express
102c00 69 6f 6e 20 77 68 65 6e 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c 65 61 76 65 73 20 74 68 65 ion.when.control.flow.leaves.the
102c20 20 63 75 72 72 65 6e 74 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e .current.block..............<ul>
102c40 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
102c60 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 20 20 20 20 ref="#defer">defer</a></li>.....
102c80 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>...
102ca0 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>........
102cc0 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">.............
102ce0 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
102d00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-kw">else</span></
102d20 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
102d40 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 63 h>...........<td>.............<c
102d60 6f 64 65 3e 3c 73 70 61 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
102d80 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 61 6e 3e 3c 2f ss="tok-kw">else</span></span></
102da0 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 code>.can.be.used.to.provide.an.
102dc0 61 6c 74 65 72 6e 61 74 65 20 62 72 61 6e 63 68 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e alternate.branch.for.<code><span
102de0 20 63 6c 61 73 73 3d 22 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
102e00 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 w">if</span></span></code>,.<cod
102e20 65 3e 3c 73 70 61 6e 20 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
102e40 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ="tok-kw">switch</span></span></
102e60 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 code>,.............<code><span.c
102e80 6c 61 73 73 3d 22 6c 69 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"
102ea0 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 2c 20 61 6e 64 >while</span></span></code>,.and
102ec0 20 3c 63 6f 64 65 3e 3c 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.
102ee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e class="tok-kw">for</span></span>
102f00 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 </code>.expressions.............
102f20 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 66 20 75 73 65 64 20 .<ul>...............<li>If.used.
102f40 61 66 74 65 72 20 61 6e 20 69 66 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 68 65 20 65 6c 73 65 after.an.if.expression,.the.else
102f60 20 62 72 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 66 20 74 68 65 20 .branch.will.be.executed.if.the.
102f80 74 65 73 74 20 76 61 6c 75 65 20 72 65 74 75 72 6e 73 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 test.value.returns.false,.null,.
102fa0 6f 72 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or.an.error.</li>...............
102fc0 3c 6c 69 3e 49 66 20 75 73 65 64 20 77 69 74 68 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 <li>If.used.within.a.switch.expr
102fe0 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 69 6c 6c 20 62 65 20 ession,.the.else.branch.will.be.
103000 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 65 20 6d 61 74 63 68 executed.if.the.test.value.match
103020 65 73 20 6e 6f 20 6f 74 68 65 72 20 63 61 73 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 es.no.other.cases.</li>.........
103040 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 20 6c 6f 6f 70 20 65 ......<li>If.used.after.a.loop.e
103060 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 69 6c 6c 20 xpression,.the.else.branch.will.
103080 62 65 20 65 78 65 63 75 74 65 64 20 69 66 20 74 68 65 20 6c 6f 6f 70 20 66 69 6e 69 73 68 65 73 be.executed.if.the.loop.finishes
1030a0 20 77 69 74 68 6f 75 74 20 62 72 65 61 6b 69 6e 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .without.breaking.</li>.........
1030c0 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 ......<li>See.also.<a.href="#if"
1030e0 3e 69 66 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 >if</a>,.<a.href="#switch">switc
103100 68 3c 2f 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 h</a>,.<a.href="#while">while</a
103120 3e 2c 20 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 >,.<a.href="#for">for</a></li>..
103140 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>
103160 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>.....
103180 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 ......<th.scope="row">..........
1031a0 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"
1031c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e ><span.class="tok-kw">enum</span
1031e0 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>...........
103200 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>............
103220 20 3c 63 6f 64 65 3e 3c 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.
103240 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e class="tok-kw">enum</span></span
103260 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 6e 20 65 6e 75 6d 20 74 79 70 65 2e 0a 20 ></code>.defines.an.enum.type...
103280 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
1032a0 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c i>See.also.<a.href="#enum">enum<
1032c0 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>......
1032e0 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>........
103300 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">
103320 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
103340 61 73 73 3d 22 6c 69 6e 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">
103360 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 3c 2f 70 errdefer</span></span></code></p
103380 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
1033a0 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
1033c0 3d 22 6c 69 6e 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
1033e0 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 77 69 6c 6c 20 defer</span></span></code>.will.
103400 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 63 6f 6e 74 72 execute.an.expression.when.contr
103420 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 62 6c 6f 63 6b ol.flow.leaves.the.current.block
103440 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f .if.the.function.returns.an.erro
103460 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 r..............<ul>.............
103480 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 ..<li>See.also.<a.href="#errdefe
1034a0 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 r">errdefer</a></li>............
1034c0 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>.........<
1034e0 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.
103500 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
103520 6f 64 65 3e 3c 73 70 61 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
103540 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">error</span></span><
103560 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>....
103580 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
1035a0 70 61 6e 20 63 6c 61 73 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
1035c0 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>
1035e0 20 64 65 66 69 6e 65 73 20 61 6e 20 65 72 72 6f 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 .defines.an.error.type..........
103600 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
103620 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e lso.<a.href="#Errors">Errors</a>
103640 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>.........
103660 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
103680 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">...
1036a0 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
1036c0 3d 22 6c 69 6e 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 ="line"><span.class="tok-kw">exp
1036e0 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ort</span></span></code></pre>..
103700 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</th>...........<td>...
103720 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
103740 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 2f e"><span.class="tok-kw">export</
103760 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 span></span></code>.makes.a.func
103780 74 69 6f 6e 20 6f 72 20 76 61 72 69 61 62 6c 65 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 tion.or.variable.externally.visi
1037a0 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 6f 62 6a 65 63 74 20 66 69 6c 65 ble.in.the.generated.object.file
1037c0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 78 70 6f 72 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 ..............Exported.functions
1037e0 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e .default.to.the.C.calling.conven
103800 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>..........
103820 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
103840 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>.......
103860 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>.....
103880 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>..........
1038a0 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
1038c0 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
1038e0 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 3c 2f n.class="tok-kw">extern</span></
103900 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
103920 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 63 h>...........<td>.............<c
103940 6f 64 65 3e 3c 73 70 61 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
103960 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-kw">extern</span></span>
103980 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 61 </code>.can.be.used.to.declare.a
1039a0 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 77 69 6c 6c 20 .function.or.variable.that.will.
1039c0 62 65 20 72 65 73 6f 6c 76 65 64 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e 20 6c be.resolved.at.link.time,.when.l
1039e0 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 inking.statically.............or
103a00 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 64 79 6e 61 6d 69 .at.runtime,.when.linking.dynami
103a20 63 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 cally..............<ul>.........
103a40 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e ......<li>See.also.<a.href="#Fun
103a60 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ctions">Functions</a></li>......
103a80 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>....
103aa0 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>.........
103ac0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ..<th.scope="row">.............<
103ae0 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
103b00 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>
103b20 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>...........<
103b40 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 20 /th>...........<td>.............
103b60 54 68 65 20 62 6f 6f 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 The.boolean.value.<code><span.cl
103b80 61 73 73 3d 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
103ba0 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ">false</span></span></code>....
103bc0 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
103be0 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 >See.also.<a.href="#Primitive-Va
103c00 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 0a lues">Primitive.Values</a></li>.
103c20 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
103c40 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>....
103c60 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">.........
103c80 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
103ca0 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>
103cc0 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>...........<
103ce0 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 20 /th>...........<td>.............
103d00 3c 63 6f 64 65 3e 3c 73 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
103d20 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></
103d40 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 code>.declares.a.function.......
103d60 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
103d80 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 e.also.<a.href="#Functions">Func
103da0 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e tions</a></li>.............</ul>
103dc0 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>..
103de0 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=
103e00 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
103e20 70 61 6e 20 63 6c 61 73 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
103e40 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 3c 2f k-kw">for</span></span></code></
103e60 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c pre>...........</th>...........<
103e80 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 63 6c td>.............A.<code><span.cl
103ea0 61 73 73 3d 22 6c 69 6e 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">
103ec0 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 78 70 72 65 73 73 for</span></span></code>.express
103ee0 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 ion.can.be.used.to.iterate.over.
103f00 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 61 72 72 61 79 2c 20 the.elements.of.a.slice,.array,.
103f20 6f 72 20 74 75 70 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 or.tuple..............<ul>......
103f40 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="#
103f60 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 3c 2f for">for</a></li>.............</
103f80 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
103fa0 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
103fc0 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
103fe0 3e 3c 73 70 61 6e 20 63 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=
104000 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 6f 64 65 3e "tok-kw">if</span></span></code>
104020 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>..........
104040 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .<td>.............An.<code><span
104060 20 63 6c 61 73 73 3d 22 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
104080 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 w">if</span></span></code>.expre
1040a0 73 73 69 6f 6e 20 63 61 6e 20 74 65 73 74 20 62 6f 6f 6c 65 61 6e 20 65 78 70 72 65 73 73 69 6f ssion.can.test.boolean.expressio
1040c0 6e 73 2c 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 73 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e ns,.optional.values,.or.error.un
1040e0 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 76 ions..............For.optional.v
104100 61 6c 75 65 73 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2c 20 74 68 65 20 69 66 20 65 78 alues.or.error.unions,.the.if.ex
104120 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 77 72 61 70 70 pression.can.capture.the.unwrapp
104140 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ed.value..............<ul>......
104160 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="#
104180 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c if">if</a></li>.............</ul
1041a0 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>.
1041c0 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
1041e0 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><
104200 73 70 61 6e 20 63 6c 61 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
104220 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
104240 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 e></pre>...........</th>........
104260 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ...<td>.............<code><span.
104280 63 6c 61 73 73 3d 22 6c 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
1042a0 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 ">inline</span></span></code>.ca
1042c0 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 61 62 65 6c 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 n.be.used.to.label.a.loop.expres
1042e0 73 69 6f 6e 20 73 75 63 68 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 6e 72 6f 6c 6c sion.such.that.it.will.be.unroll
104300 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ed.at.compile.time..............
104320 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 65 20 61 20 66 It.can.also.be.used.to.force.a.f
104340 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 20 63 61 6c unction.to.be.inlined.at.all.cal
104360 6c 20 73 69 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 l.sites..............<ul>.......
104380 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 ........<li>See.also.<a.href="#i
1043a0 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c nline-while">inline.while</a>,.<
1043c0 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c a.href="#inline-for">inline.for<
1043e0 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 /a>,.<a.href="#Functions">Functi
104400 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ons</a></li>.............</ul>..
104420 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>....
104440 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
104460 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
104480 6e 20 63 6c 61 73 73 3d 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-
1044a0 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e kw">noalias</span></span></code>
1044c0 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>..........
1044e0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 .<td>.............The.<code><spa
104500 6e 20 63 6c 61 73 73 3d 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-
104520 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e kw">noalias</span></span></code>
104540 20 6b 65 79 77 6f 72 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 .keyword..............<ul>......
104560 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 .........<li>TODO.add.documentat
104580 69 6f 6e 20 66 6f 72 20 6e 6f 61 6c 69 61 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ion.for.noalias</li>............
1045a0 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>.........<
1045c0 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.
1045e0 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
104600 6f 64 65 3e 3c 73 70 61 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
104620 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ss="tok-kw">nosuspend</span></sp
104640 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e an></code></pre>...........</th>
104660 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 ...........<td>.............The.
104680 3c 63 6f 64 65 3e 3c 73 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
1046a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-kw">nosuspend</span></
1046c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 span></code>.keyword.can.be.used
1046e0 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 62 6c 6f 63 6b 2c 20 73 74 61 74 65 6d 65 6e 74 20 .in.front.of.a.block,.statement.
104700 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 6f 20 6d 61 72 6b 20 61 20 73 63 6f 70 65 20 77 or.expression,.to.mark.a.scope.w
104720 68 65 72 65 20 6e 6f 20 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 73 20 61 72 65 20 72 65 here.no.suspension.points.are.re
104740 61 63 68 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 ached..............In.particular
104760 2c 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 6c 69 ,.inside.a.<code><span.class="li
104780 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 ne"><span.class="tok-kw">nosuspe
1047a0 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 3a 0a 20 nd</span></span></code>.scope:..
1047c0 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
1047e0 69 3e 55 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c i>Using.the.<code><span.class="l
104800 69 6e 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 ine"><span.class="tok-kw">suspen
104820 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 d</span></span></code>.keyword.r
104840 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a esults.in.a.compile.error.</li>.
104860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 ..............<li>Using.<code><s
104880 70 61 6e 20 63 6c 61 73 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
1048a0 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>
1048c0 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 77 68 69 63 68 20 68 61 73 6e 27 .on.a.function.frame.which.hasn'
1048e0 74 20 63 6f 6d 70 6c 65 74 65 64 20 79 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 61 66 65 74 t.completed.yet.results.in.safet
104900 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 y-checked.<a.href="#Undefined-Be
104920 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 3c havior">Undefined.Behavior</a>.<
104940 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 6c 6c 69 6e 67 20 61 /li>...............<li>Calling.a
104960 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 73 n.async.function.may.result.in.s
104980 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
1049a0 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</
1049c0 61 3e 2c 20 62 65 63 61 75 73 65 20 69 74 27 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c a>,.because.it's.equivalent.to.<
1049e0 63 6f 64 65 3e 61 77 61 69 74 20 61 73 79 6e 63 20 73 6f 6d 65 5f 61 73 79 6e 63 5f 66 6e 28 29 code>await.async.some_async_fn()
104a00 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 3c 63 6f 64 65 </code>,.which.contains.an.<code
104a20 3e 3c 73 70 61 6e 20 63 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=
104a40 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 6e 3e 3c 2f 63 6f "tok-kw">await</span></span></co
104a60 64 65 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 de>.</li>.............</ul>.....
104a80 20 20 20 20 20 20 20 20 43 6f 64 65 20 69 6e 73 69 64 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 ........Code.inside.a.<code><spa
104aa0 6e 20 63 6c 61 73 73 3d 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-
104ac0 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 64 kw">nosuspend</span></span></cod
104ae0 65 3e 20 73 63 6f 70 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 65 20 65 6e 63 6c e>.scope.does.not.cause.the.encl
104b00 6f 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 osing.function.to.become.an.<a.h
104b20 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e ref="#Async-Functions">async.fun
104b40 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ction</a>..............<ul>.....
104b60 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 ..........<li>See.also.<a.href="
104b80 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 6e #Async-Functions">Async.Function
104ba0 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>....
104bc0 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>......
104be0 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
104c00 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.
104c20 63 6c 61 73 73 3d 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
104c40 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ll">null</span></span></code></p
104c60 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
104c80 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 d>.............The.optional.valu
104ca0 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
104cc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-null">null</span></s
104ce0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 pan></code>..............<ul>...
104d00 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
104d20 3d 22 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 20 20 20 20 ="#null">null</a></li>..........
104d40 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>........
104d60 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
104d80 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>
104da0 3c 63 6f 64 65 3e 3c 73 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
104dc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-kw">or</span></span></
104de0 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>.....
104e00 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
104e20 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an.operator.<code><span.class="l
104e40 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 ine"><span.class="tok-kw">or</sp
104e60 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c an></span></code>..............<
104e80 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.<
104ea0 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
104ec0 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>........
104ee0 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>.........<
104f00 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">..
104f20 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
104f40 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 s="line"><span.class="tok-kw">or
104f60 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a else</span></span></code></pre>.
104f80 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>..
104fa0 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
104fc0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c ne"><span.class="tok-kw">orelse<
104fe0 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
105000 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 .to.evaluate.an.expression.if.th
105020 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 e.expression.before.it.evaluates
105040 20 74 6f 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 .to.null..............<ul>......
105060 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="#
105080 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 Optionals">Optionals</a>,.<a.hre
1050a0 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 f="#Operators">Operators</a></li
1050c0 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>...........</
1050e0 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>..
105100 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">.......
105120 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
105140 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c ne"><span.class="tok-kw">packed<
105160 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>......
105180 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>.......
1051a0 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
1051c0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f e"><span.class="tok-kw">packed</
1051e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 62 65 66 6f span></span></code>.keyword.befo
105200 72 65 20 61 20 73 74 72 75 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 74 re.a.struct.definition.changes.t
105220 68 65 20 73 74 72 75 63 74 27 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 0a 20 20 20 he.struct's.in-memory.layout....
105240 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 75 61 72 61 6e 74 65 65 64 20 3c 63 6f 64 65 .........to.the.guaranteed.<code
105260 3e 3c 73 70 61 6e 20 63 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=
105280 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">packed</span></span></c
1052a0 6f 64 65 3e 20 6c 61 79 6f 75 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ode>.layout..............<ul>...
1052c0 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
1052e0 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c ="#packed-struct">packed.struct<
105300 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>......
105320 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>........
105340 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">
105360 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
105380 61 73 73 3d 22 6c 69 6e 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">
1053a0 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 pub</span></span></code></pre>..
1053c0 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</th>...........<td>...
1053e0 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 3d ..........The.<code><span.class=
105400 22 6c 69 6e 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<
105420 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 /span></span></code>.in.front.of
105440 20 61 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6d 61 6b 65 73 20 74 .a.top.level.declaration.makes.t
105460 68 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 he.declaration.available........
105480 20 20 20 20 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 .....to.reference.from.a.differe
1054a0 6e 74 20 66 69 6c 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 69 74 20 69 73 20 64 65 63 6c 61 nt.file.than.the.one.it.is.decla
1054c0 72 65 64 20 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 red.in..............<ul>........
1054e0 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6d .......<li>See.also.<a.href="#im
105500 70 6f 72 74 22 3e 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 port">import</a></li>...........
105520 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>.........
105540 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
105560 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><
105580 63 6f 64 65 3e 3c 73 70 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
1055a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-kw">resume</span></span
1055c0 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>..
1055e0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e .........<td>.............<code>
105600 3c 73 70 61 6e 20 63 6c 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="
105620 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-kw">resume</span></span></co
105640 64 65 3e 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 de>.will.continue.execution.of.a
105660 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 61 66 74 65 72 20 74 68 65 20 70 6f 69 6e 74 20 .function.frame.after.the.point.
105680 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 73 75 73 70 65 6e 64 65 64 2e 0a 20 20 20 20 the.function.was.suspended......
1056a0 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 ........<ul>...............<li>S
1056c0 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 ee.also.<a.href="#Suspend-and-Re
1056e0 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 3c 2f 6c 69 sume">Suspend.and.Resume</a></li
105700 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>...........</
105720 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>..
105740 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">.......
105760 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
105780 6e 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 72 6e 3c ne"><span.class="tok-kw">return<
1057a0 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>......
1057c0 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>.......
1057e0 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"><
105800 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
105820 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e ></span></code>.exits.a.function
105840 20 77 69 74 68 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a .with.a.value..............<ul>.
105860 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
105880 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 6c ef="#Functions">Functions</a></l
1058a0 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>...........<
1058c0 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>.
1058e0 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">......
105900 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
105920 69 6e 65 22 3e 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 ine"><span.class="tok-kw">linkse
105940 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ction</span></span></code></pre>
105960 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</th>...........<td>.
105980 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ............The.<code><span.clas
1059a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 s="line"><span.class="tok-kw">li
1059c0 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b nksection</span></span></code>.k
1059e0 65 79 77 6f 72 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 eyword..............<ul>........
105a00 20 20 20 20 20 20 20 3c 6c 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f .......<li>TODO.add.documentatio
105a20 6e 20 66 6f 72 20 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 n.for.linksection</li>..........
105a40 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>........
105a60 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
105a80 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>
105aa0 3c 63 6f 64 65 3e 3c 73 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
105ac0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-kw">struct</span></spa
105ae0 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>.
105b00 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
105b20 3e 3c 73 70 61 6e 20 63 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=
105b40 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 2f 63 "tok-kw">struct</span></span></c
105b60 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 20 20 20 ode>.defines.a.struct...........
105b80 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
105ba0 73 6f 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 3c so.<a.href="#struct">struct</a><
105bc0 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>..........
105be0 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
105c00 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">....
105c20 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=
105c40 22 6c 69 6e 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 "line"><span.class="tok-kw">susp
105c60 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 end</span></span></code></pre>..
105c80 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</th>...........<td>...
105ca0 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
105cc0 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<
105ce0 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 63 61 75 73 65 20 /span></span></code>.will.cause.
105d00 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 74 68 65 20 63 61 control.flow.to.return.to.the.ca
105d20 6c 6c 20 73 69 74 65 20 6f 72 20 72 65 73 75 6d 65 72 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 ll.site.or.resumer.of.the.functi
105d40 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 on..............<code><span.clas
105d60 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">su
105d80 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 3e 20 63 61 6e 20 61 spend</span></span></code>.can.a
105da0 6c 73 6f 20 62 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 61 20 62 6c 6f 63 6b 20 77 69 74 68 69 lso.be.used.before.a.block.withi
105dc0 6e 20 61 20 66 75 6e 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 6c 6c n.a.function,.............to.all
105de0 6f 77 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 73 73 20 74 6f 20 69 74 73 20 66 72 ow.the.function.access.to.its.fr
105e00 61 6d 65 20 62 65 66 6f 72 65 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 72 65 74 75 72 6e 73 20 ame.before.control.flow.returns.
105e20 74 6f 20 74 68 65 20 63 61 6c 6c 20 73 69 74 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 to.the.call.site..............<u
105e40 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
105e60 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 70 .href="#Suspend-and-Resume">Susp
105e80 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 20 end.and.Resume</a></li>.........
105ea0 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>.......
105ec0 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>...........<
105ee0 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
105f00 3e 3c 63 6f 64 65 3e 3c 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.
105f20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-kw">switch</span></sp
105f40 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e an></code></pre>...........</th>
105f60 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 20 3c 63 ...........<td>.............A.<c
105f80 6f 64 65 3e 3c 73 70 61 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
105fa0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-kw">switch</span></span>
105fc0 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 </code>.expression.can.be.used.t
105fe0 6f 20 74 65 73 74 20 76 61 6c 75 65 73 20 6f 66 20 61 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 0a o.test.values.of.a.common.type..
106000 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ............<code><span.class="l
106020 69 6e 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 69 74 63 68 ine"><span.class="tok-kw">switch
106040 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 73 20 63 61 6e 20 </span></span></code>.cases.can.
106060 63 61 70 74 75 72 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 6f 66 20 61 20 3c 61 20 68 72 65 capture.field.values.of.a.<a.hre
106080 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f f="#Tagged-union">Tagged.union</
1060a0 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 a>..............<ul>............
1060c0 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 77 69 74 63 68 ...<li>See.also.<a.href="#switch
1060e0 22 3e 73 77 69 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f ">switch</a></li>.............</
106100 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
106120 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
106140 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
106160 3e 3c 73 70 61 6e 20 63 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=
106180 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-kw">test</span></span></cod
1061a0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 e></pre>...........</th>........
1061c0 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 ...<td>.............The.<code><s
1061e0 70 61 6e 20 63 6c 61 73 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
106200 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-kw">test</span></span></code>.
106220 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 61 20 keyword.can.be.used.to.denote.a.
106240 74 6f 70 2d 6c 65 76 65 6c 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 top-level.block.of.code.........
106260 20 20 20 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d ....used.to.make.sure.behavior.m
106280 65 65 74 73 20 65 78 70 65 63 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c eets.expectations..............<
1062a0 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.<
1062c0 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 3c 2f 61 3e 3c a.href="#Zig-Test">Zig.Test</a><
1062e0 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>..........
106300 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
106320 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">....
106340 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=
106360 22 6c 69 6e 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 "line"><span.class="tok-kw">thre
106380 61 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 3c 2f 70 72 adlocal</span></span></code></pr
1063a0 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
1063c0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.............<code><span.class=
1063e0 22 6c 69 6e 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 "line"><span.class="tok-kw">thre
106400 61 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 63 61 6e adlocal</span></span></code>.can
106420 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 76 61 72 69 61 62 6c 65 20 61 .be.used.to.specify.a.variable.a
106440 73 20 74 68 72 65 61 64 2d 6c 6f 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e s.thread-local..............<ul>
106460 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
106480 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 ref="#Thread-Local-Variables">Th
1064a0 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 read.Local.Variables</a></li>...
1064c0 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>.
1064e0 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>......
106500 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">...........
106520 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">
106540 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
106560 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>..........
106580 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>...........
1065a0 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ..The.boolean.value.<code><span.
1065c0 63 6c 61 73 73 3d 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
1065e0 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 20 ll">true</span></span></code>...
106600 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
106620 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 i>See.also.<a.href="#Primitive-V
106640 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>
106660 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
106680 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>...
1066a0 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">........
1066c0 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
1066e0 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
106700 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>..........
106720 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>...........
106740 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
106760 20 63 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 .class="tok-kw">try</span></span
106780 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 69 6f ></code>.evaluates.an.error.unio
1067a0 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 69 74 20 n.expression..............If.it.
1067c0 69 73 20 61 6e 20 65 72 72 6f 72 2c 20 69 74 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 74 68 65 is.an.error,.it.returns.from.the
1067e0 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 .current.function.with.the.same.
106800 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 error..............Otherwise,.th
106820 65 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 74 68 65 20 75 6e 77 72 e.expression.results.in.the.unwr
106840 61 70 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 apped.value..............<ul>...
106860 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
106880 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ="#try">try</a></li>............
1068a0 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>.........<
1068c0 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.
1068e0 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
106900 6f 64 65 3e 3c 73 70 61 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
106920 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></
106940 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
106960 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 63 h>...........<td>.............<c
106980 6f 64 65 3e 3c 73 70 61 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
1069a0 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></
1069c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 65 61 76 span></code>.can.be.used.to.leav
1069e0 65 20 61 20 76 61 6c 75 65 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 2e 0a 20 20 20 20 20 20 20 e.a.value.uninitialized.........
106a00 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 .....<ul>...............<li>See.
106a20 61 6c 73 6f 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 also.<a.href="#undefined">undefi
106a40 6e 65 64 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 ned</a></li>.............</ul>..
106a60 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>....
106a80 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
106aa0 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
106ac0 6e 20 63 6c 61 73 73 3d 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-
106ae0 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f kw">union</span></span></code></
106b00 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c pre>...........</th>...........<
106b20 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 td>.............<code><span.clas
106b40 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">un
106b60 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 ion</span></span></code>.defines
106b80 20 61 20 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 .a.union..............<ul>......
106ba0 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="#
106bc0 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 union">union</a></li>...........
106be0 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>.........
106c00 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
106c20 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><
106c40 63 6f 64 65 3e 3c 73 70 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
106c60 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 3c ass="tok-kw">unreachable</span><
106c80 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>...........</
106ca0 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>.............<
106cc0 63 6f 64 65 3e 3c 73 70 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
106ce0 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 3c ass="tok-kw">unreachable</span><
106d00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 73 73 /span></code>.can.be.used.to.ass
106d20 65 72 74 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 ert.that.control.flow.will.never
106d40 20 68 61 70 70 65 6e 20 75 70 6f 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 .happen.upon.a.particular.locati
106d60 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 on..............Depending.on.the
106d80 20 62 75 69 6c 64 20 6d 6f 64 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .build.mode,.<code><span.class="
106da0 6c 69 6e 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 line"><span.class="tok-kw">unrea
106dc0 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 chable</span></span></code>.may.
106de0 65 6d 69 74 20 61 20 70 61 6e 69 63 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 emit.a.panic..............<ul>..
106e00 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 69 74 73 20 61 20 70 61 6e 69 63 20 69 .............<li>Emits.a.panic.i
106e20 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 65 62 75 67 n.<code><span.class="line">Debug
106e40 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 </span></code>.and.<code><span.c
106e60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 73 70 61 6e 3e 3c 2f lass="line">ReleaseSafe</span></
106e80 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 6f 72 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 3e 7a code>.mode,.or.when.using.<kbd>z
106ea0 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ig.test</kbd>.</li>.............
106ec0 20 20 3c 6c 69 3e 44 6f 65 73 20 6e 6f 74 20 65 6d 69 74 20 61 20 70 61 6e 69 63 20 69 6e 20 3c ..<li>Does.not.emit.a.panic.in.<
106ee0 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 65 46 code><span.class="line">ReleaseF
106f00 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 75 6e 6c 65 73 73 20 3c ast</span></code>.mode,.unless.<
106f20 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 kbd>zig.test</kbd>.is.being.used
106f40 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 .</li>...............<li>See.als
106f60 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 o.<a.href="#unreachable">unreach
106f80 61 62 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 2f 75 6c 3e 0a able</a></li>.............</ul>.
106fa0 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>...
106fc0 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="
106fe0 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
107000 61 6e 20 63 6c 61 73 73 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
107020 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 6e -kw">usingnamespace</span></span
107040 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>..
107060 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e .........<td>.............<code>
107080 3c 73 70 61 6e 20 63 6c 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="
1070a0 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 tok-kw">usingnamespace</span></s
1070c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 pan></code>.is.a.top-level.decla
1070e0 72 61 74 69 6f 6e 20 74 68 61 74 20 69 6d 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 70 75 62 6c ration.that.imports.all.the.publ
107100 69 63 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 0a ic.declarations.of.the.operand,.
107120 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 75 ............which.must.be.a.stru
107140 63 74 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e 75 6d 2c 20 69 6e 74 6f 20 74 68 65 20 63 75 72 ct,.union,.or.enum,.into.the.cur
107160 72 65 6e 74 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 rent.scope..............<ul>....
107180 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=
1071a0 22 23 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 "#usingnamespace">usingnamespace
1071c0 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>.....
1071e0 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>.......
107200 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"
107220 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
107240 6c 61 73 73 3d 22 6c 69 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"
107260 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 3c 2f 70 72 65 3e 0a >var</span></span></code></pre>.
107280 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>..
1072a0 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
1072c0 6e 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 ne"><span.class="tok-kw">var</sp
1072e0 61 6e 3e 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 an></span></code>.declares.a.var
107300 69 61 62 6c 65 20 74 68 61 74 20 6d 61 79 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 iable.that.may.be.modified......
107320 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 ........<ul>...............<li>S
107340 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 ee.also.<a.href="#Variables">Var
107360 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c iables</a></li>.............</ul
107380 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>.
1073a0 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
1073c0 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><
1073e0 73 70 61 6e 20 63 6c 61 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
107400 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">volatile</span></span></c
107420 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>......
107440 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
107460 6e 20 63 6c 61 73 73 3d 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-
107480 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
1074a0 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 6c 6f 61 64 73 20 6f 72 >.can.be.used.to.denote.loads.or
1074c0 20 73 74 6f 72 65 73 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 76 65 20 73 69 64 65 20 65 .stores.of.a.pointer.have.side.e
1074e0 66 66 65 63 74 73 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 ffects..............It.can.also.
107500 6d 6f 64 69 66 79 20 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 modify.an.inline.assembly.expres
107520 73 69 6f 6e 20 74 6f 20 64 65 6e 6f 74 65 20 69 74 20 68 61 73 20 73 69 64 65 20 65 66 66 65 63 sion.to.denote.it.has.side.effec
107540 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ts..............<ul>............
107560 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 76 6f 6c 61 74 69 ...<li>See.also.<a.href="#volati
107580 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 65 le">volatile</a>,.<a.href="#Asse
1075a0 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 mbly">Assembly</a></li>.........
1075c0 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>.......
1075e0 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>...........<
107600 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
107620 3e 3c 63 6f 64 65 3e 3c 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.
107640 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-kw">while</span></spa
107660 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>.
107680 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 20 3c 63 6f ..........<td>.............A.<co
1076a0 64 65 3e 3c 73 70 61 6e 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
1076c0 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 2f s="tok-kw">while</span></span></
1076e0 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 code>.expression.can.be.used.to.
107700 72 65 70 65 61 74 65 64 6c 79 20 74 65 73 74 20 61 20 62 6f 6f 6c 65 61 6e 2c 20 6f 70 74 69 6f repeatedly.test.a.boolean,.optio
107720 6e 61 6c 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a nal,.or.error.union.expression,.
107740 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 65 61 73 65 20 6c 6f 6f 70 69 6e 67 20 77 68 ............and.cease.looping.wh
107760 65 6e 20 74 68 61 74 20 65 78 70 72 65 73 73 69 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 en.that.expression.evaluates.to.
107780 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 2c 20 72 65 73 70 65 63 false,.null,.or.an.error,.respec
1077a0 74 69 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 tively..............<ul>........
1077c0 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 77 68 .......<li>See.also.<a.href="#wh
1077e0 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ile">while</a></li>.............
107800 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>.........</
107820 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
107840 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c le>.......</div>...............<
107860 68 32 20 69 64 3d 22 47 72 61 6d 6d 61 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 h2.id="Grammar"><a.href="nav.xht
107880 6d 6c 23 74 6f 63 2d 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 20 3c 61 20 63 ml#toc-Grammar">Grammar</a>.<a.c
1078a0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e c2 a7 3c 2f 61 lass="hdr".href="#Grammar">..</a
1078c0 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 6f ></h2>........<figure><figcaptio
1078e0 6e 20 63 6c 61 73 73 3d 22 70 65 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 n.class="peg-cap"><cite.class="f
107900 69 6c 65 22 3e 67 72 61 6d 6d 61 72 2e 70 65 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 ile">grammar.peg</cite></figcapt
107920 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
107940 22 3e 52 6f 6f 74 20 26 6c 74 3b 2d 20 73 6b 69 70 20 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f ">Root.&lt;-.skip.container_doc_
107960 63 6f 6d 6d 65 6e 74 3f 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 65 6f 66 3c 2f 73 comment?.ContainerMembers.eof</s
107980 70 61 6e 3e 0a 3c 73 70 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>.
1079a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 54 6f 70 20 6c 65 76 <span.class="line">#.***.Top.lev
1079c0 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 el.***</span>.<span.class="line"
1079e0 3e 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 26 6c 74 3b 2d 20 43 6f 6e 74 61 69 6e 65 >ContainerMembers.&lt;-.Containe
107a00 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 43 4f rDeclarations.(ContainerField.CO
107a20 4d 4d 41 29 2a 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 2f 20 43 6f 6e 74 61 69 6e 65 MMA)*.(ContainerField./.Containe
107a40 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 rDeclarations)</span>.<span.clas
107a60 73 3d 22 6c 69 6e 65 22 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
107a80 6e 65 22 3e 43 6f 6e 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 ne">ContainerDeclarations</span>
107aa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 54 65 .<span.class="line">....&lt;-.Te
107ac0 73 74 44 65 63 6c 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 stDecl.ContainerDeclarations</sp
107ae0 61 6e 3e 0a 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 54 6f an>.<span.class="line">...../.To
107b00 70 4c 65 76 65 6c 43 6f 6d 70 74 69 6d 65 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 pLevelComptime.ContainerDeclarat
107b20 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ions</span>.<span.class="line">.
107b40 20 20 20 20 2f 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 70 75 62 3f 20 ..../.doc_comment?.KEYWORD_pub?.
107b60 54 6f 70 4c 65 76 65 6c 44 65 63 6c 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f TopLevelDecl.ContainerDeclaratio
107b80 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ns</span>.<span.class="line">...
107ba0 20 20 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ../</span>.<span.class="line"></
107bc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 65 73 74 44 65 63 span>.<span.class="line">TestDec
107be0 6c 20 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 74 65 73 l.&lt;-.doc_comment?.KEYWORD_tes
107c00 74 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 42 6c 6f 63 6b 3c 2f 73 70 t.STRINGLITERALSINGLE?.Block</sp
107c20 61 6e 3e 0a 3c 73 70 61 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>.<
107c40 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 43 6f 6d 70 74 69 span.class="line">TopLevelCompti
107c60 6d 65 20 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 me.&lt;-.doc_comment?.KEYWORD_co
107c80 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mptime.BlockExpr</span>.<span.cl
107ca0 61 73 73 3d 22 6c 69 6e 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="
107cc0 6c 69 6e 65 22 3e 54 6f 70 4c 65 76 65 6c 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">TopLevelDecl</span>.<span.
107ce0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f class="line">....&lt;-.(KEYWORD_
107d00 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 53 54 52 49 4e 47 4c 49 export./.KEYWORD_extern.STRINGLI
107d20 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 2f 20 28 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f TERALSINGLE?./.(KEYWORD_inline./
107d40 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 29 29 3f 20 46 6e 50 72 6f 74 6f 20 28 53 45 .KEYWORD_noinline))?.FnProto.(SE
107d60 4d 49 43 4f 4c 4f 4e 20 2f 20 42 6c 6f 63 6b 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c MICOLON./.Block)</span>.<span.cl
107d80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 ass="line">...../.(KEYWORD_expor
107da0 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c t./.KEYWORD_extern.STRINGLITERAL
107dc0 53 49 4e 47 4c 45 3f 29 3f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 3f 20 56 SINGLE?)?.KEYWORD_threadlocal?.V
107de0 61 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 arDecl</span>.<span.class="line"
107e00 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 45 >...../.KEYWORD_usingnamespace.E
107e20 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 61 73 73 xpr.SEMICOLON</span>.<span.class
107e40 3d 22 6c 69 6e 65 22 3e 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
107e60 65 22 3e 46 6e 50 72 6f 74 6f 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6e 20 49 44 45 4e e">FnProto.&lt;-.KEYWORD_fn.IDEN
107e80 54 49 46 49 45 52 3f 20 4c 50 41 52 45 4e 20 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 20 52 50 41 TIFIER?.LPAREN.ParamDeclList.RPA
107ea0 52 45 4e 20 42 79 74 65 41 6c 69 67 6e 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 43 61 6c 6c REN.ByteAlign?.LinkSection?.Call
107ec0 43 6f 6e 76 3f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 3f 20 54 79 70 65 45 78 70 72 3c Conv?.EXCLAMATIONMARK?.TypeExpr<
107ee0 2f 73 70 61 6e 3e 0a 3c 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
107f00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 56 61 72 44 65 63 6c 20 26 6c 74 >.<span.class="line">VarDecl.&lt
107f20 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 29 ;-.(KEYWORD_const./.KEYWORD_var)
107f40 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4c 4f 4e 20 54 79 70 65 45 78 70 72 29 3f 20 42 79 .IDENTIFIER.(COLON.TypeExpr)?.By
107f60 74 65 41 6c 69 67 6e 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 teAlign?.LinkSection?.(EQUAL.Exp
107f80 72 29 3f 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r)?.SEMICOLON</span>.<span.class
107fa0 3d 22 6c 69 6e 65 22 3e 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
107fc0 65 22 3e 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d e">ContainerField.&lt;-.doc_comm
107fe0 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3f 20 49 44 45 4e 54 49 46 49 45 ent?.KEYWORD_comptime?.IDENTIFIE
108000 52 20 28 43 4f 4c 4f 4e 20 28 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 2f 20 54 79 70 65 R.(COLON.(KEYWORD_anytype./.Type
108020 45 78 70 72 29 20 42 79 74 65 41 6c 69 67 6e 3f 29 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f Expr).ByteAlign?)?.(EQUAL.Expr)?
108040 3c 2f 73 70 61 6e 3e 0a 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
108060 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 42 6c 6f 63 n>.<span.class="line">#.***.Bloc
108080 6b 20 4c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k.Level.***</span>.<span.class="
1080a0 6c 69 6e 65 22 3e 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 line">Statement</span>.<span.cla
1080c0 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 63 6f 6d 70 ss="line">....&lt;-.KEYWORD_comp
1080e0 74 69 6d 65 3f 20 56 61 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 time?.VarDecl</span>.<span.class
108100 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 ="line">...../.KEYWORD_comptime.
108120 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 BlockExprStatement</span>.<span.
108140 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 6e 6f 73 75 class="line">...../.KEYWORD_nosu
108160 73 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a spend.BlockExprStatement</span>.
108180 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
1081a0 44 5f 73 75 73 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 D_suspend.BlockExprStatement</sp
1081c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 an>.<span.class="line">...../.KE
1081e0 59 57 4f 52 44 5f 64 65 66 65 72 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f YWORD_defer.BlockExprStatement</
108200 73 70 61 6e 3e 0a 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">...../.
108220 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 50 61 79 6c 6f 61 64 3f 20 42 6c 6f 63 6b 45 KEYWORD_errdefer.Payload?.BlockE
108240 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=
108260 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e "line">...../.IfStatement</span>
108280 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 61 62 65 6c .<span.class="line">...../.Label
1082a0 65 64 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 edStatement</span>.<span.class="
1082c0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c line">...../.SwitchExpr</span>.<
1082e0 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 67 6e 45 span.class="line">...../.AssignE
108300 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 61 73 73 xpr.SEMICOLON</span>.<span.class
108320 3d 22 6c 69 6e 65 22 3e 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
108340 65 22 3e 49 66 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 e">IfStatement</span>.<span.clas
108360 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 42 6c 6f 63 s="line">....&lt;-.IfPrefix.Bloc
108380 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 kExpr.(.KEYWORD_else.Payload?.St
1083a0 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c atement.)?</span>.<span.class="l
1083c0 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 ine">...../.IfPrefix.AssignExpr.
1083e0 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f (.SEMICOLON./.KEYWORD_else.Paylo
108400 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ad?.Statement.)</span>.<span.cla
108420 73 73 3d 22 6c 69 6e 65 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
108440 69 6e 65 22 3e 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 42 6c 6f 63 ine">LabeledStatement.&lt;-.Bloc
108460 6b 4c 61 62 65 6c 3f 20 28 42 6c 6f 63 6b 20 2f 20 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 29 3c kLabel?.(Block./.LoopStatement)<
108480 2f 73 70 61 6e 3e 0a 3c 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
1084a0 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 53 74 61 74 65 6d 65 >.<span.class="line">LoopStateme
1084c0 6e 74 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 53 74 61 nt.&lt;-.KEYWORD_inline?.(ForSta
1084e0 74 65 6d 65 6e 74 20 2f 20 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a tement./.WhileStatement)</span>.
108500 3c 73 70 61 6e 20 63 6c 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
108520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e .class="line">ForStatement</span
108540 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 46 >.<span.class="line">....&lt;-.F
108560 6f 72 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 orPrefix.BlockExpr.(.KEYWORD_els
108580 65 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e.Statement.)?</span>.<span.clas
1085a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 46 6f 72 50 72 65 66 69 78 20 41 73 73 69 67 6e s="line">...../.ForPrefix.Assign
1085c0 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 Expr.(.SEMICOLON./.KEYWORD_else.
1085e0 53 74 61 74 65 6d 65 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 Statement.)</span>.<span.class="
108600 6c 69 6e 65 22 3e 3c 2f 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"
108620 3e 57 68 69 6c 65 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 >WhileStatement</span>.<span.cla
108640 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 ss="line">....&lt;-.WhilePrefix.
108660 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 BlockExpr.(.KEYWORD_else.Payload
108680 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ?.Statement.)?</span>.<span.clas
1086a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 57 68 69 6c 65 50 72 65 66 69 78 20 41 73 73 69 s="line">...../.WhilePrefix.Assi
1086c0 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 gnExpr.(.SEMICOLON./.KEYWORD_els
1086e0 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3c 2f 73 70 61 6e 3e 0a 3c 73 e.Payload?.Statement.)</span>.<s
108700 70 61 6e 20 63 6c 61 73 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
108720 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f lass="line">BlockExprStatement</
108740 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 span>.<span.class="line">....&lt
108760 3b 2d 20 42 6c 6f 63 6b 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ;-.BlockExpr</span>.<span.class=
108780 22 6c 69 6e 65 22 3e 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 "line">...../.AssignExpr.SEMICOL
1087a0 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 ON</span>.<span.class="line"></s
1087c0 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 78 70 pan>.<span.class="line">BlockExp
1087e0 72 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e r.&lt;-.BlockLabel?.Block</span>
108800 0a 3c 73 70 61 6e 20 63 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
108820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 45 78 70 72 65 73 73 69 6f 6e 20 n.class="line">#.***.Expression.
108840 4c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 Level.***</span>.<span.class="li
108860 6e 65 22 3e 41 73 73 69 67 6e 45 78 70 72 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 41 73 73 69 67 ne">AssignExpr.&lt;-.Expr.(Assig
108880 6e 4f 70 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 nOp.Expr)?</span>.<span.class="l
1088a0 69 6e 65 22 3e 3c 2f 73 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">
1088c0 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 4f 72 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 Expr.&lt;-.BoolOrExpr</span>.<sp
1088e0 61 6e 20 63 6c 61 73 73 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
108900 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6f 6f 6c 4f 72 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c ass="line">BoolOrExpr.&lt;-.Bool
108920 41 6e 64 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 6f 72 20 42 6f 6f 6c 41 6e 64 45 78 70 72 29 AndExpr.(KEYWORD_or.BoolAndExpr)
108940 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 73 70 *</span>.<span.class="line"></sp
108960 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 41 6e 64 45 78 an>.<span.class="line">BoolAndEx
108980 70 72 20 26 6c 74 3b 2d 20 43 6f 6d 70 61 72 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 61 6e pr.&lt;-.CompareExpr.(KEYWORD_an
1089a0 64 20 43 6f 6d 70 61 72 65 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 d.CompareExpr)*</span>.<span.cla
1089c0 73 73 3d 22 6c 69 6e 65 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
1089e0 69 6e 65 22 3e 43 6f 6d 70 61 72 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 74 77 69 73 65 45 78 ine">CompareExpr.&lt;-.BitwiseEx
108a00 70 72 20 28 43 6f 6d 70 61 72 65 4f 70 20 42 69 74 77 69 73 65 45 78 70 72 29 3f 3c 2f 73 70 61 pr.(CompareOp.BitwiseExpr)?</spa
108a20 6e 3e 0a 3c 73 70 61 6e 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
108a40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 77 69 73 65 45 78 70 72 20 26 6c 74 pan.class="line">BitwiseExpr.&lt
108a60 3b 2d 20 42 69 74 53 68 69 66 74 45 78 70 72 20 28 42 69 74 77 69 73 65 4f 70 20 42 69 74 53 68 ;-.BitShiftExpr.(BitwiseOp.BitSh
108a80 69 66 74 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 iftExpr)*</span>.<span.class="li
108aa0 6e 65 22 3e 3c 2f 73 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
108ac0 69 74 53 68 69 66 74 45 78 70 72 20 26 6c 74 3b 2d 20 41 64 64 69 74 69 6f 6e 45 78 70 72 20 28 itShiftExpr.&lt;-.AdditionExpr.(
108ae0 42 69 74 53 68 69 66 74 4f 70 20 41 64 64 69 74 69 6f 6e 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e BitShiftOp.AdditionExpr)*</span>
108b00 0a 3c 73 70 61 6e 20 63 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
108b20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 64 64 69 74 69 6f 6e 45 78 70 72 20 26 6c 74 3b n.class="line">AdditionExpr.&lt;
108b40 2d 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 28 41 64 64 69 74 69 6f 6e 4f 70 20 4d 75 6c 74 69 -.MultiplyExpr.(AdditionOp.Multi
108b60 70 6c 79 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 plyExpr)*</span>.<span.class="li
108b80 6e 65 22 3e 3c 2f 73 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 ne"></span>.<span.class="line">M
108ba0 75 6c 74 69 70 6c 79 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 45 78 70 72 20 28 4d 75 ultiplyExpr.&lt;-.PrefixExpr.(Mu
108bc0 6c 74 69 70 6c 79 4f 70 20 50 72 65 66 69 78 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ltiplyOp.PrefixExpr)*</span>.<sp
108be0 61 6e 20 63 6c 61 73 73 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
108c00 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 ass="line">PrefixExpr.&lt;-.Pref
108c20 69 78 4f 70 2a 20 50 72 69 6d 61 72 79 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ixOp*.PrimaryExpr</span>.<span.c
108c40 6c 61 73 73 3d 22 6c 69 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=
108c60 22 6c 69 6e 65 22 3e 50 72 69 6d 61 72 79 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 "line">PrimaryExpr</span>.<span.
108c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 73 6d 45 78 70 72 3c 2f class="line">....&lt;-.AsmExpr</
108ca0 73 70 61 6e 3e 0a 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">...../.
108cc0 49 66 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 IfExpr</span>.<span.class="line"
108ce0 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 42 72 65 61 6b 4c 61 62 65 6c >...../.KEYWORD_break.BreakLabel
108d00 3f 20 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ?.Expr?</span>.<span.class="line
108d20 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 45 78 70 72 3c 2f ">...../.KEYWORD_comptime.Expr</
108d40 73 70 61 6e 3e 0a 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">...../.
108d60 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 KEYWORD_nosuspend.Expr</span>.<s
108d80 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 5f pan.class="line">...../.KEYWORD_
108da0 63 6f 6e 74 69 6e 75 65 20 42 72 65 61 6b 4c 61 62 65 6c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 continue.BreakLabel?</span>.<spa
108dc0 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 72 65 n.class="line">...../.KEYWORD_re
108de0 73 75 6d 65 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 sume.Expr</span>.<span.class="li
108e00 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 45 78 70 72 3f 3c ne">...../.KEYWORD_return.Expr?<
108e20 2f 73 70 61 6e 3e 0a 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">...../
108e40 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .BlockLabel?.LoopExpr</span>.<sp
108e60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 6b 3c 2f 73 70 an.class="line">...../.Block</sp
108e80 61 6e 3e 0a 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 75 an>.<span.class="line">...../.Cu
108ea0 72 6c 79 53 75 66 66 69 78 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 rlySuffixExpr</span>.<span.class
108ec0 3d 22 6c 69 6e 65 22 3e 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
108ee0 65 22 3e 49 66 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 45 78 70 72 20 28 4b e">IfExpr.&lt;-.IfPrefix.Expr.(K
108f00 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 70 72 29 3f 3c 2f 73 70 61 EYWORD_else.Payload?.Expr)?</spa
108f20 6e 3e 0a 3c 73 70 61 6e 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
108f40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 20 26 6c 74 3b 2d 20 4c 42 52 pan.class="line">Block.&lt;-.LBR
108f60 41 43 45 20 53 74 61 74 65 6d 65 6e 74 2a 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ACE.Statement*.RBRACE</span>.<sp
108f80 61 6e 20 63 6c 61 73 73 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
108fa0 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 ass="line">LoopExpr.&lt;-.KEYWOR
108fc0 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 45 78 70 72 20 2f 20 57 68 69 6c 65 45 78 70 72 29 3c D_inline?.(ForExpr./.WhileExpr)<
108fe0 2f 73 70 61 6e 3e 0a 3c 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
109000 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 45 78 70 72 20 26 6c 74 >.<span.class="line">ForExpr.&lt
109020 3b 2d 20 46 6f 72 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 ;-.ForPrefix.Expr.(KEYWORD_else.
109040 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 Expr)?</span>.<span.class="line"
109060 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c ></span>.<span.class="line">Whil
109080 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 eExpr.&lt;-.WhilePrefix.Expr.(KE
1090a0 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e YWORD_else.Payload?.Expr)?</span
1090c0 3e 0a 3c 73 70 61 6e 20 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
1090e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 72 20 an.class="line">CurlySuffixExpr.
109100 26 6c 74 3b 2d 20 54 79 70 65 45 78 70 72 20 49 6e 69 74 4c 69 73 74 3f 3c 2f 73 70 61 6e 3e 0a &lt;-.TypeExpr.InitList?</span>.
109120 3c 73 70 61 6e 20 63 6c 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
109140 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 6e 69 74 4c 69 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 .class="line">InitList</span>.<s
109160 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 4c 42 52 41 43 pan.class="line">....&lt;-.LBRAC
109180 45 20 46 69 65 6c 64 49 6e 69 74 20 28 43 4f 4d 4d 41 20 46 69 65 6c 64 49 6e 69 74 29 2a 20 43 E.FieldInit.(COMMA.FieldInit)*.C
1091a0 4f 4d 4d 41 3f 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 OMMA?.RBRACE</span>.<span.class=
1091c0 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 45 78 70 72 20 28 43 4f 4d 4d 41 "line">...../.LBRACE.Expr.(COMMA
1091e0 20 45 78 70 72 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .Expr)*.COMMA?.RBRACE</span>.<sp
109200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 52 42 an.class="line">...../.LBRACE.RB
109220 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 6e 65 22 3e 3c RACE</span>.<span.class="line"><
109240 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 79 70 65 45 78 /span>.<span.class="line">TypeEx
109260 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 54 79 70 65 4f 70 2a 20 45 72 72 6f 72 55 6e 69 6f pr.&lt;-.PrefixTypeOp*.ErrorUnio
109280 6e 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 nExpr</span>.<span.class="line">
1092a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 72 72 6f 72 </span>.<span.class="line">Error
1092c0 55 6e 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 53 75 66 66 69 78 45 78 70 72 20 28 45 58 43 4c UnionExpr.&lt;-.SuffixExpr.(EXCL
1092e0 41 4d 41 54 49 4f 4e 4d 41 52 4b 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 AMATIONMARK.TypeExpr)?</span>.<s
109300 70 61 6e 20 63 6c 61 73 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
109320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 75 66 66 69 78 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 lass="line">SuffixExpr</span>.<s
109340 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f pan.class="line">....&lt;-.KEYWO
109360 52 44 5f 61 73 79 6e 63 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 53 75 66 66 69 78 4f RD_async.PrimaryTypeExpr.SuffixO
109380 70 2a 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 p*.FnCallArguments</span>.<span.
1093a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 72 69 6d 61 72 79 54 79 70 65 45 class="line">...../.PrimaryTypeE
1093c0 78 70 72 20 28 53 75 66 66 69 78 4f 70 20 2f 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 29 xpr.(SuffixOp./.FnCallArguments)
1093e0 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 73 70 *</span>.<span.class="line"></sp
109400 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 69 6d 61 72 79 54 79 an>.<span.class="line">PrimaryTy
109420 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"
109440 3e 20 20 20 20 26 6c 74 3b 2d 20 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 46 6e 43 >....&lt;-.BUILTINIDENTIFIER.FnC
109460 61 6c 6c 41 72 67 75 6d 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d allArguments</span>.<span.class=
109480 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 48 41 52 5f 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e "line">...../.CHAR_LITERAL</span
1094a0 3e 0a 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 6f 6e 74 >.<span.class="line">...../.Cont
1094c0 61 69 6e 65 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ainerDecl</span>.<span.class="li
1094e0 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e ne">...../.DOT.IDENTIFIER</span>
109500 0a 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 44 4f 54 20 49 .<span.class="line">...../.DOT.I
109520 6e 69 74 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 nitList</span>.<span.class="line
109540 22 3e 20 20 20 20 20 2f 20 45 72 72 6f 72 53 65 74 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">...../.ErrorSetDecl</span>.<sp
109560 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 46 4c 4f 41 54 3c 2f 73 70 an.class="line">...../.FLOAT</sp
109580 61 6e 3e 0a 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 6e an>.<span.class="line">...../.Fn
1095a0 50 72 6f 74 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e Proto</span>.<span.class="line">
1095c0 20 20 20 20 20 2f 20 47 72 6f 75 70 65 64 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ...../.GroupedExpr</span>.<span.
1095e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 54 79 70 65 45 class="line">...../.LabeledTypeE
109600 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">..
109620 20 20 20 2f 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 .../.IDENTIFIER</span>.<span.cla
109640 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 54 79 70 65 45 78 70 72 3c 2f 73 70 61 ss="line">...../.IfTypeExpr</spa
109660 6e 3e 0a 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 4e 54 n>.<span.class="line">...../.INT
109680 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 22 3e 20 EGER</span>.<span.class="line">.
1096a0 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 54 79 70 65 45 78 70 72 3c ..../.KEYWORD_comptime.TypeExpr<
1096c0 2f 73 70 61 6e 3e 0a 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">...../
1096e0 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 .KEYWORD_error.DOT.IDENTIFIER</s
109700 70 61 6e 3e 0a 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
109720 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 EYWORD_anyframe</span>.<span.cla
109740 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 6e 72 65 61 63 68 ss="line">...../.KEYWORD_unreach
109760 61 62 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 able</span>.<span.class="line">.
109780 20 20 20 20 2f 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ..../.STRINGLITERAL</span>.<span
1097a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 3c .class="line">...../.SwitchExpr<
1097c0 2f 73 70 61 6e 3e 0a 3c 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
1097e0 3e 0a 3c 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 >.<span.class="line">ContainerDe
109800 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f cl.&lt;-.(KEYWORD_extern./.KEYWO
109820 52 44 5f 70 61 63 6b 65 64 29 3f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 3c 2f 73 RD_packed)?.ContainerDeclAuto</s
109840 70 61 6e 3e 0a 3c 73 70 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>.
109860 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 72 72 6f 72 53 65 74 44 65 63 6c 20 <span.class="line">ErrorSetDecl.
109880 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 4c 42 52 41 43 45 20 49 64 65 6e 74 &lt;-.KEYWORD_error.LBRACE.Ident
1098a0 69 66 69 65 72 4c 69 73 74 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ifierList.RBRACE</span>.<span.cl
1098c0 61 73 73 3d 22 6c 69 6e 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="
1098e0 6c 69 6e 65 22 3e 47 72 6f 75 70 65 64 45 78 70 72 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 line">GroupedExpr.&lt;-.LPAREN.E
109900 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c xpr.RPAREN</span>.<span.class="l
109920 69 6e 65 22 3e 3c 2f 73 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">
109940 49 66 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 54 79 70 65 45 78 IfTypeExpr.&lt;-.IfPrefix.TypeEx
109960 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 pr.(KEYWORD_else.Payload?.TypeEx
109980 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"><
1099a0 2f 73 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 61 62 65 6c 65 /span>.<span.class="line">Labele
1099c0 64 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 dTypeExpr</span>.<span.class="li
1099e0 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 20 42 6c 6f 63 6b 3c 2f ne">....&lt;-.BlockLabel.Block</
109a00 73 70 61 6e 3e 0a 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">...../.
109a20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a BlockLabel?.LoopTypeExpr</span>.
109a40 3c 73 70 61 6e 20 63 6c 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
109a60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d .class="line">LoopTypeExpr.&lt;-
109a80 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 54 79 70 65 45 78 70 72 20 2f 20 .KEYWORD_inline?.(ForTypeExpr./.
109aa0 57 68 69 6c 65 54 79 70 65 45 78 70 72 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 WhileTypeExpr)</span>.<span.clas
109ac0 73 3d 22 6c 69 6e 65 22 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
109ae0 6e 65 22 3e 46 6f 72 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 ne">ForTypeExpr.&lt;-.ForPrefix.
109b00 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 54 79 70 65 45 78 70 72 29 TypeExpr.(KEYWORD_else.TypeExpr)
109b20 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ?</span>.<span.class="line"></sp
109b40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 54 79 70 65 an>.<span.class="line">WhileType
109b60 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 Expr.&lt;-.WhilePrefix.TypeExpr.
109b80 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 (KEYWORD_else.Payload?.TypeExpr)
109ba0 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ?</span>.<span.class="line"></sp
109bc0 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 45 78 70 an>.<span.class="line">SwitchExp
109be0 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 4c 50 41 52 45 4e 20 45 78 r.&lt;-.KEYWORD_switch.LPAREN.Ex
109c00 70 72 20 52 50 41 52 45 4e 20 4c 42 52 41 43 45 20 53 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 pr.RPAREN.LBRACE.SwitchProngList
109c20 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 6e 65 .RBRACE</span>.<span.class="line
109c40 22 3e 3c 2f 73 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">#.*
109c60 2a 2a 20 41 73 73 65 6d 62 6c 79 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 **.Assembly.***</span>.<span.cla
109c80 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f ss="line">AsmExpr.&lt;-.KEYWORD_
109ca0 61 73 6d 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 3f 20 4c 50 41 52 45 4e 20 45 78 70 asm.KEYWORD_volatile?.LPAREN.Exp
109cc0 72 20 41 73 6d 4f 75 74 70 75 74 3f 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e r.AsmOutput?.RPAREN</span>.<span
109ce0 20 63 6c 61 73 73 3d 22 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
109d00 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 41 s="line">AsmOutput.&lt;-.COLON.A
109d20 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 41 73 6d 49 6e 70 75 74 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 smOutputList.AsmInput?</span>.<s
109d40 70 61 6e 20 63 6c 61 73 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
109d60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 lass="line">AsmOutputItem.&lt;-.
109d80 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 46 49 45 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 LBRACKET.IDENTIFIER.RBRACKET.STR
109da0 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 52 45 4e 20 28 4d 49 4e 55 53 52 41 52 52 4f 57 20 54 INGLITERAL.LPAREN.(MINUSRARROW.T
109dc0 79 70 65 45 78 70 72 20 2f 20 49 44 45 4e 54 49 46 49 45 52 29 20 52 50 41 52 45 4e 3c 2f 73 70 ypeExpr./.IDENTIFIER).RPAREN</sp
109de0 61 6e 3e 0a 3c 73 70 61 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>.<
109e00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e 70 75 74 20 26 6c 74 3b 2d span.class="line">AsmInput.&lt;-
109e20 20 43 4f 4c 4f 4e 20 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 41 73 6d 43 6c 6f 62 62 65 72 73 3f .COLON.AsmInputList.AsmClobbers?
109e40 3c 2f 73 70 61 6e 3e 0a 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
109e60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e 70 75 74 49 74 n>.<span.class="line">AsmInputIt
109e80 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 46 49 45 52 20 52 42 52 em.&lt;-.LBRACKET.IDENTIFIER.RBR
109ea0 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 45 78 70 72 20 ACKET.STRINGLITERAL.LPAREN.Expr.
109ec0 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"
109ee0 3e 3c 2f 73 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 43 ></span>.<span.class="line">AsmC
109f00 6c 6f 62 62 65 72 73 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 53 74 72 69 6e 67 4c 69 73 74 3c 2f lobbers.&lt;-.COLON.StringList</
109f20 73 70 61 6e 3e 0a 3c 73 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>
109f40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 48 65 6c 70 65 72 .<span.class="line">#.***.Helper
109f60 20 67 72 61 6d 6d 61 72 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .grammar.***</span>.<span.class=
109f80 22 6c 69 6e 65 22 3e 42 72 65 61 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 49 44 "line">BreakLabel.&lt;-.COLON.ID
109fa0 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 6c 69 6e ENTIFIER</span>.<span.class="lin
109fc0 65 22 3e 3c 2f 73 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 e"></span>.<span.class="line">Bl
109fe0 6f 63 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 3c ockLabel.&lt;-.IDENTIFIER.COLON<
10a000 2f 73 70 61 6e 3e 0a 3c 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
10a020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 65 6c 64 49 6e 69 74 20 26 >.<span.class="line">FieldInit.&
10a040 6c 74 3b 2d 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 20 45 51 55 41 4c 20 45 78 70 72 3c 2f lt;-.DOT.IDENTIFIER.EQUAL.Expr</
10a060 73 70 61 6e 3e 0a 3c 73 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>
10a080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 43 6f 6e 74 69 6e 75 .<span.class="line">WhileContinu
10a0a0 65 45 78 70 72 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 4c 50 41 52 45 4e 20 41 73 73 69 67 6e 45 eExpr.&lt;-.COLON.LPAREN.AssignE
10a0c0 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c xpr.RPAREN</span>.<span.class="l
10a0e0 69 6e 65 22 3e 3c 2f 73 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">
10a100 4c 69 6e 6b 53 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 LinkSection.&lt;-.KEYWORD_linkse
10a120 63 74 69 6f 6e 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 ction.LPAREN.Expr.RPAREN</span>.
10a140 3c 73 70 61 6e 20 63 6c 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
10a160 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 46 6e 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 .class="line">#.Fn.specific</spa
10a180 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 61 6c 6c 43 6f 6e 76 20 26 n>.<span.class="line">CallConv.&
10a1a0 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 4c 50 41 52 45 4e 20 45 78 70 lt;-.KEYWORD_callconv.LPAREN.Exp
10a1c0 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e r.RPAREN</span>.<span.class="lin
10a1e0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 e"></span>.<span.class="line">Pa
10a200 72 61 6d 44 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 ramDecl</span>.<span.class="line
10a220 22 3e 20 20 20 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 28 4b 45 59 57 4f 52 ">....&lt;-.doc_comment?.(KEYWOR
10a240 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 29 3f 20 28 D_noalias./.KEYWORD_comptime)?.(
10a260 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 29 3f 20 50 61 72 61 6d 54 79 70 65 3c 2f 73 70 IDENTIFIER.COLON)?.ParamType</sp
10a280 61 6e 3e 0a 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 44 4f an>.<span.class="line">...../.DO
10a2a0 54 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 3e 3c 2f 73 T3</span>.<span.class="line"></s
10a2c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 54 79 70 pan>.<span.class="line">ParamTyp
10a2e0 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 20 20 e</span>.<span.class="line">....
10a300 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 &lt;-.KEYWORD_anytype</span>.<sp
10a320 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 79 70 65 45 78 70 72 3c an.class="line">...../.TypeExpr<
10a340 2f 73 70 61 6e 3e 0a 3c 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
10a360 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 72 6f 6c 20 66 >.<span.class="line">#.Control.f
10a380 6c 6f 77 20 70 72 65 66 69 78 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d low.prefixes</span>.<span.class=
10a3a0 22 6c 69 6e 65 22 3e 49 66 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 66 "line">IfPrefix.&lt;-.KEYWORD_if
10a3c0 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f 3c .LPAREN.Expr.RPAREN.PtrPayload?<
10a3e0 2f 73 70 61 6e 3e 0a 3c 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
10a400 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 50 72 65 66 69 78 >.<span.class="line">WhilePrefix
10a420 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 4c 50 41 52 45 4e 20 45 78 70 72 .&lt;-.KEYWORD_while.LPAREN.Expr
10a440 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f 20 57 68 69 6c 65 43 6f 6e 74 69 6e 75 .RPAREN.PtrPayload?.WhileContinu
10a460 65 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 eExpr?</span>.<span.class="line"
10a480 3e 3c 2f 73 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 50 ></span>.<span.class="line">ForP
10a4a0 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 4c 50 41 52 45 4e 20 45 refix.&lt;-.KEYWORD_for.LPAREN.E
10a4c0 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 3c 2f 73 70 61 6e xpr.RPAREN.PtrIndexPayload</span
10a4e0 3e 0a 3c 73 70 61 6e 20 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
10a500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 50 61 79 6c 6f 61 64 73 3c 2f 73 70 61 6e an.class="line">#.Payloads</span
10a520 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 79 6c 6f 61 64 20 26 6c 74 >.<span.class="line">Payload.&lt
10a540 3b 2d 20 50 49 50 45 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c ;-.PIPE.IDENTIFIER.PIPE</span>.<
10a560 73 70 61 6e 20 63 6c 61 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.
10a580 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 74 72 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 class="line">PtrPayload.&lt;-.PI
10a5a0 50 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 3c 2f 73 70 PE.ASTERISK?.IDENTIFIER.PIPE</sp
10a5c0 61 6e 3e 0a 3c 73 70 61 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>.<
10a5e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 span.class="line">PtrIndexPayloa
10a600 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 49 46 49 45 d.&lt;-.PIPE.ASTERISK?.IDENTIFIE
10a620 52 20 28 43 4f 4d 4d 41 20 49 44 45 4e 54 49 46 49 45 52 29 3f 20 50 49 50 45 3c 2f 73 70 61 6e R.(COMMA.IDENTIFIER)?.PIPE</span
10a640 3e 0a 3c 73 70 61 6e 20 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
10a660 61 6e 20 63 6c 61 73 73 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
10a680 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 53 77 69 74 63 68 20 73 70 65 63 69 66 69 63 3c 2f 73 70 ass="line">#.Switch.specific</sp
10a6a0 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 50 72 6f an>.<span.class="line">SwitchPro
10a6c0 6e 67 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 43 61 73 65 20 45 51 55 41 4c 52 41 52 52 4f 57 20 ng.&lt;-.SwitchCase.EQUALRARROW.
10a6e0 50 74 72 50 61 79 6c 6f 61 64 3f 20 41 73 73 69 67 6e 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 PtrPayload?.AssignExpr</span>.<s
10a700 70 61 6e 20 63 6c 61 73 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
10a720 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 43 61 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 lass="line">SwitchCase</span>.<s
10a740 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 53 77 69 74 63 pan.class="line">....&lt;-.Switc
10a760 68 49 74 65 6d 20 28 43 4f 4d 4d 41 20 53 77 69 74 63 68 49 74 65 6d 29 2a 20 43 4f 4d 4d 41 3f hItem.(COMMA.SwitchItem)*.COMMA?
10a780 3c 2f 73 70 61 6e 3e 0a 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">.....
10a7a0 2f 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 /.KEYWORD_else</span>.<span.clas
10a7c0 73 3d 22 6c 69 6e 65 22 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
10a7e0 6e 65 22 3e 53 77 69 74 63 68 49 74 65 6d 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 44 4f 54 33 20 ne">SwitchItem.&lt;-.Expr.(DOT3.
10a800 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 Expr)?</span>.<span.class="line"
10a820 3e 3c 2f 73 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 4f 70 ></span>.<span.class="line">#.Op
10a840 65 72 61 74 6f 72 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 erators</span>.<span.class="line
10a860 22 3e 41 73 73 69 67 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 ">AssignOp</span>.<span.class="l
10a880 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 45 51 55 41 4c 3c 2f 73 70 ine">....&lt;-.ASTERISKEQUAL</sp
10a8a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c an>.<span.class="line">...../.SL
10a8c0 41 53 48 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 ASHEQUAL</span>.<span.class="lin
10a8e0 65 22 3e 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 e">...../.PERCENTEQUAL</span>.<s
10a900 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 55 53 45 51 55 41 pan.class="line">...../.PLUSEQUA
10a920 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">....
10a940 20 2f 20 4d 49 4e 55 53 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ./.MINUSEQUAL</span>.<span.class
10a960 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 45 51 55 41 4c 3c 2f 73 70 61 ="line">...../.LARROW2EQUAL</spa
10a980 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 n>.<span.class="line">...../.RAR
10a9a0 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
10a9c0 6e 65 22 3e 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 3c 2f 73 70 61 6e 3e ne">...../.AMPERSANDEQUAL</span>
10a9e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 41 52 45 54 .<span.class="line">...../.CARET
10aa00 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e EQUAL</span>.<span.class="line">
10aa20 20 20 20 20 20 2f 20 50 49 50 45 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ...../.PIPEEQUAL</span>.<span.cl
10aa40 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 50 45 52 43 45 4e ass="line">...../.ASTERISKPERCEN
10aa60 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"
10aa80 3e 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a >...../.PLUSPERCENTEQUAL</span>.
10aaa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 <span.class="line">...../.MINUSP
10aac0 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ERCENTEQUAL</span>.<span.class="
10aae0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">...../.EQUAL</span>.<span.
10ab00 63 6c 61 73 73 3d 22 6c 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
10ab20 3d 22 6c 69 6e 65 22 3e 43 6f 6d 70 61 72 65 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">CompareOp</span>.<span.c
10ab40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 45 51 55 41 4c 45 51 55 41 4c lass="line">....&lt;-.EQUALEQUAL
10ab60 3c 2f 73 70 61 6e 3e 0a 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">.....
10ab80 2f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 /.EXCLAMATIONMARKEQUAL</span>.<s
10aba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 3c 2f pan.class="line">...../.LARROW</
10abc0 73 70 61 6e 3e 0a 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">...../.
10abe0 52 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 RARROW</span>.<span.class="line"
10ac00 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >...../.LARROWEQUAL</span>.<span
10ac20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 45 51 55 41 4c .class="line">...../.RARROWEQUAL
10ac40 3c 2f 73 70 61 6e 3e 0a 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
10ac60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 77 69 73 65 4f 70 3c n>.<span.class="line">BitwiseOp<
10ac80 2f 73 70 61 6e 3e 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
10aca0 74 3b 2d 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 61 73 73 t;-.AMPERSAND</span>.<span.class
10acc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 41 52 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ="line">...../.CARET</span>.<spa
10ace0 6e 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 3c 2f 73 70 61 6e n.class="line">...../.PIPE</span
10ad00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 >.<span.class="line">...../.KEYW
10ad20 4f 52 44 5f 6f 72 65 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 ORD_orelse</span>.<span.class="l
10ad40 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 50 61 79 6c 6f 61 ine">...../.KEYWORD_catch.Payloa
10ad60 64 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 d?</span>.<span.class="line"></s
10ad80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 53 68 69 66 74 pan>.<span.class="line">BitShift
10ada0 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 Op</span>.<span.class="line">...
10adc0 20 26 6c 74 3b 2d 20 4c 41 52 52 4f 57 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .&lt;-.LARROW2</span>.<span.clas
10ade0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 3c 2f 73 70 61 6e 3e 0a 3c s="line">...../.RARROW2</span>.<
10ae00 73 70 61 6e 20 63 6c 61 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.
10ae20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 64 64 69 74 69 6f 6e 4f 70 3c 2f 73 70 61 6e 3e 0a 3c class="line">AdditionOp</span>.<
10ae40 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 4c 55 53 span.class="line">....&lt;-.PLUS
10ae60 3c 2f 73 70 61 6e 3e 0a 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">.....
10ae80 2f 20 4d 49 4e 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /.MINUS</span>.<span.class="line
10aea0 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">...../.PLUS2</span>.<span.clas
10aec0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 3c 2f 73 70 61 s="line">...../.PLUSPERCENT</spa
10aee0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e n>.<span.class="line">...../.MIN
10af00 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
10af20 6e 65 22 3e 3c 2f 73 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 ne"></span>.<span.class="line">M
10af40 75 6c 74 69 70 6c 79 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 ultiplyOp</span>.<span.class="li
10af60 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 50 49 50 45 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ne">....&lt;-.PIPE2</span>.<span
10af80 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 3c 2f 73 .class="line">...../.ASTERISK</s
10afa0 70 61 6e 3e 0a 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
10afc0 4c 41 53 48 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 LASH</span>.<span.class="line">.
10afe0 20 20 20 20 2f 20 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 ..../.PERCENT</span>.<span.class
10b000 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 73 70 61 6e 3e 0a ="line">...../.ASTERISK2</span>.
10b020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 <span.class="line">...../.ASTERI
10b040 53 4b 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 SKPERCENT</span>.<span.class="li
10b060 6e 65 22 3e 3c 2f 73 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 ne"></span>.<span.class="line">P
10b080 72 65 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 refixOp</span>.<span.class="line
10b0a0 22 3e 20 20 20 20 26 6c 74 3b 2d 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 ">....&lt;-.EXCLAMATIONMARK</spa
10b0c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e n>.<span.class="line">...../.MIN
10b0e0 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 US</span>.<span.class="line">...
10b100 20 20 2f 20 54 49 4c 44 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ../.TILDE</span>.<span.class="li
10b120 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>.<
10b140 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
10b160 4e 44 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ND</span>.<span.class="line">...
10b180 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ../.KEYWORD_try</span>.<span.cla
10b1a0 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 61 77 61 69 74 3c 2f ss="line">...../.KEYWORD_await</
10b1c0 73 70 61 6e 3e 0a 3c 73 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>
10b1e0 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 54 79 70 65 4f 70 .<span.class="line">PrefixTypeOp
10b200 3c 2f 73 70 61 6e 3e 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">....&
10b220 6c 74 3b 2d 20 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lt;-.QUESTIONMARK</span>.<span.c
10b240 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 61 6e 79 66 72 lass="line">...../.KEYWORD_anyfr
10b260 61 6d 65 20 4d 49 4e 55 53 52 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ame.MINUSRARROW</span>.<span.cla
10b280 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 ss="line">...../.SliceTypeStart.
10b2a0 28 42 79 74 65 41 6c 69 67 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 (ByteAlign./.KEYWORD_const./.KEY
10b2c0 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 WORD_volatile./.KEYWORD_allowzer
10b2e0 6f 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 20 20 o)*</span>.<span.class="line">..
10b300 20 20 20 2f 20 50 74 72 54 79 70 65 53 74 61 72 74 20 28 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e .../.PtrTypeStart.(KEYWORD_align
10b320 20 4c 50 41 52 45 4e 20 45 78 70 72 20 28 43 4f 4c 4f 4e 20 49 4e 54 45 47 45 52 20 43 4f 4c 4f .LPAREN.Expr.(COLON.INTEGER.COLO
10b340 4e 20 49 4e 54 45 47 45 52 29 3f 20 52 50 41 52 45 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e N.INTEGER)?.RPAREN./.KEYWORD_con
10b360 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f st./.KEYWORD_volatile./.KEYWORD_
10b380 61 6c 6c 6f 77 7a 65 72 6f 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 allowzero)*</span>.<span.class="
10b3a0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 72 72 61 79 54 79 70 65 53 74 61 72 74 3c 2f 73 70 61 line">...../.ArrayTypeStart</spa
10b3c0 6e 3e 0a 3c 73 70 61 6e 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
10b3e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 75 66 66 69 78 4f 70 3c 2f 73 70 61 6e 3e pan.class="line">SuffixOp</span>
10b400 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4c 42 .<span.class="line">....&lt;-.LB
10b420 52 41 43 4b 45 54 20 45 78 70 72 20 28 44 4f 54 32 20 28 45 78 70 72 3f 20 28 43 4f 4c 4f 4e 20 RACKET.Expr.(DOT2.(Expr?.(COLON.
10b440 45 78 70 72 29 3f 29 3f 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e Expr)?)?)?.RBRACKET</span>.<span
10b460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 .class="line">...../.DOT.IDENTIF
10b480 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 IER</span>.<span.class="line">..
10b4a0 20 20 20 2f 20 44 4f 54 41 53 54 45 52 49 53 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .../.DOTASTERISK</span>.<span.cl
10b4c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 ass="line">...../.DOTQUESTIONMAR
10b4e0 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 3c 2f 73 70 K</span>.<span.class="line"></sp
10b500 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6e 43 61 6c 6c 41 72 67 an>.<span.class="line">FnCallArg
10b520 75 6d 65 6e 74 73 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 4c 69 73 74 20 52 50 41 uments.&lt;-.LPAREN.ExprList.RPA
10b540 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 3e 3c 2f REN</span>.<span.class="line"></
10b560 73 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 50 74 72 20 73 span>.<span.class="line">#.Ptr.s
10b580 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 6e 65 pecific</span>.<span.class="line
10b5a0 22 3e 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 ">SliceTypeStart.&lt;-.LBRACKET.
10b5c0 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 (COLON.Expr)?.RBRACKET</span>.<s
10b5e0 70 61 6e 20 63 6c 61 73 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
10b600 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 74 72 54 79 70 65 53 74 61 72 74 3c 2f 73 70 61 6e 3e 0a lass="line">PtrTypeStart</span>.
10b620 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
10b640 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 6c 69 6e 65 22 3e ERISK</span>.<span.class="line">
10b660 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ...../.ASTERISK2</span>.<span.cl
10b680 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 43 4b 45 54 20 41 53 54 45 52 ass="line">...../.LBRACKET.ASTER
10b6a0 49 53 4b 20 28 4c 45 54 54 45 52 43 20 2f 20 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 ISK.(LETTERC./.COLON.Expr)?.RBRA
10b6c0 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"><
10b6e0 2f 73 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 72 72 61 79 54 /span>.<span.class="line">ArrayT
10b700 79 70 65 53 74 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 45 78 70 72 20 28 43 4f ypeStart.&lt;-.LBRACKET.Expr.(CO
10b720 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e LON.Expr)?.RBRACKET</span>.<span
10b740 20 63 6c 61 73 73 3d 22 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
10b760 73 3d 22 6c 69 6e 65 22 3e 23 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 73 70 65 63 69 66 69 s="line">#.ContainerDecl.specifi
10b780 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 c</span>.<span.class="line">Cont
10b7a0 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 20 26 6c 74 3b 2d 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 ainerDeclAuto.&lt;-.ContainerDec
10b7c0 6c 54 79 70 65 20 4c 42 52 41 43 45 20 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 lType.LBRACE.container_doc_comme
10b7e0 6e 74 3f 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 52 42 52 41 43 45 3c 2f 73 70 61 nt?.ContainerMembers.RBRACE</spa
10b800 6e 3e 0a 3c 73 70 61 6e 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
10b820 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 54 79 pan.class="line">ContainerDeclTy
10b840 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 20 pe</span>.<span.class="line">...
10b860 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .&lt;-.KEYWORD_struct</span>.<sp
10b880 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 6f an.class="line">...../.KEYWORD_o
10b8a0 70 61 71 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e paque</span>.<span.class="line">
10b8c0 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 41 52 45 4e 20 45 78 70 72 ...../.KEYWORD_enum.(LPAREN.Expr
10b8e0 20 52 50 41 52 45 4e 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .RPAREN)?</span>.<span.class="li
10b900 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 28 4c 50 41 52 45 4e ne">...../.KEYWORD_union.(LPAREN
10b920 20 28 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 .(KEYWORD_enum.(LPAREN.Expr.RPAR
10b940 45 4e 29 3f 20 2f 20 45 78 70 72 29 20 52 50 41 52 45 4e 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 EN)?./.Expr).RPAREN)?</span>.<sp
10b960 61 6e 20 63 6c 61 73 73 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
10b980 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 ass="line">#.Alignment</span>.<s
10b9a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 79 74 65 41 6c 69 67 6e 20 26 6c 74 3b 2d pan.class="line">ByteAlign.&lt;-
10b9c0 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 .KEYWORD_align.LPAREN.Expr.RPARE
10b9e0 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
10ba00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 4c 69 73 74 73 3c 2f an>.<span.class="line">#.Lists</
10ba20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 64 65 6e 74 69 66 span>.<span.class="line">Identif
10ba40 69 65 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 49 44 45 4e ierList.&lt;-.(doc_comment?.IDEN
10ba60 54 49 46 49 45 52 20 43 4f 4d 4d 41 29 2a 20 28 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 49 44 45 TIFIER.COMMA)*.(doc_comment?.IDE
10ba80 4e 54 49 46 49 45 52 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 NTIFIER)?</span>.<span.class="li
10baa0 6e 65 22 3e 3c 2f 73 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
10bac0 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 77 69 74 63 68 50 72 6f 6e witchProngList.&lt;-.(SwitchPron
10bae0 67 20 43 4f 4d 4d 41 29 2a 20 53 77 69 74 63 68 50 72 6f 6e 67 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 g.COMMA)*.SwitchProng?</span>.<s
10bb00 70 61 6e 20 63 6c 61 73 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
10bb20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 lass="line">AsmOutputList.&lt;-.
10bb40 28 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 4f 75 74 70 75 74 (AsmOutputItem.COMMA)*.AsmOutput
10bb60 49 74 65 6d 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e Item?</span>.<span.class="line">
10bb80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e </span>.<span.class="line">AsmIn
10bba0 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d 49 6e 70 75 74 49 74 65 6d 20 43 4f 4d 4d putList.&lt;-.(AsmInputItem.COMM
10bbc0 41 29 2a 20 41 73 6d 49 6e 70 75 74 49 74 65 6d 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 A)*.AsmInputItem?</span>.<span.c
10bbe0 6c 61 73 73 3d 22 6c 69 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=
10bc00 22 6c 69 6e 65 22 3e 53 74 72 69 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 54 52 49 4e 47 4c "line">StringList.&lt;-.(STRINGL
10bc20 49 54 45 52 41 4c 20 43 4f 4d 4d 41 29 2a 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3f 3c 2f 73 ITERAL.COMMA)*.STRINGLITERAL?</s
10bc40 70 61 6e 3e 0a 3c 73 70 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>.
10bc60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 <span.class="line">ParamDeclList
10bc80 20 26 6c 74 3b 2d 20 28 50 61 72 61 6d 44 65 63 6c 20 43 4f 4d 4d 41 29 2a 20 50 61 72 61 6d 44 .&lt;-.(ParamDecl.COMMA)*.ParamD
10bca0 65 63 6c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ecl?</span>.<span.class="line"><
10bcc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 78 70 72 4c 69 /span>.<span.class="line">ExprLi
10bce0 73 74 20 26 6c 74 3b 2d 20 28 45 78 70 72 20 43 4f 4d 4d 41 29 2a 20 45 78 70 72 3f 3c 2f 73 70 st.&lt;-.(Expr.COMMA)*.Expr?</sp
10bd00 61 6e 3e 0a 3c 73 70 61 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>.<
10bd20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 54 6f 6b 65 6e 73 20 2a span.class="line">#.***.Tokens.*
10bd40 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6f 66 **</span>.<span.class="line">eof
10bd60 20 26 6c 74 3b 2d 20 21 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .&lt;-.!.</span>.<span.class="li
10bd80 6e 65 22 3e 62 69 6e 20 26 6c 74 3b 2d 20 5b 30 31 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ne">bin.&lt;-.[01]</span>.<span.
10bda0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 62 69 6e class="line">bin_.&lt;-.'_'?.bin
10bdc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 20 26 </span>.<span.class="line">oct.&
10bde0 6c 74 3b 2d 20 5b 30 2d 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c lt;-.[0-7]</span>.<span.class="l
10be00 69 6e 65 22 3e 6f 63 74 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 6f 63 74 3c 2f 73 70 61 6e 3e 0a ine">oct_.&lt;-.'_'?.oct</span>.
10be20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 78 20 26 6c 74 3b 2d 20 5b 30 2d <span.class="line">hex.&lt;-.[0-
10be40 39 61 2d 66 41 2d 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 9a-fA-F]</span>.<span.class="lin
10be60 65 22 3e 68 65 78 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 e">hex_.&lt;-.'_'?.hex</span>.<s
10be80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 63 20 26 6c 74 3b 2d 20 5b 30 2d 39 5d pan.class="line">dec.&lt;-.[0-9]
10bea0 3c 2f 73 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 65 63 5f 20 </span>.<span.class="line">dec_.
10bec0 26 6c 74 3b 2d 20 27 5f 27 3f 20 64 65 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 &lt;-.'_'?.dec</span>.<span.clas
10bee0 73 3d 22 6c 69 6e 65 22 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
10bf00 6e 65 22 3e 62 69 6e 5f 69 6e 74 20 26 6c 74 3b 2d 20 62 69 6e 20 62 69 6e 5f 2a 3c 2f 73 70 61 ne">bin_int.&lt;-.bin.bin_*</spa
10bf20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 5f 69 6e 74 20 26 6c n>.<span.class="line">oct_int.&l
10bf40 74 3b 2d 20 6f 63 74 20 6f 63 74 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;-.oct.oct_*</span>.<span.class
10bf60 3d 22 6c 69 6e 65 22 3e 64 65 63 5f 69 6e 74 20 26 6c 74 3b 2d 20 64 65 63 20 64 65 63 5f 2a 3c ="line">dec_int.&lt;-.dec.dec_*<
10bf80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 78 5f 69 6e /span>.<span.class="line">hex_in
10bfa0 74 20 26 6c 74 3b 2d 20 68 65 78 20 68 65 78 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 t.&lt;-.hex.hex_*</span>.<span.c
10bfc0 6c 61 73 73 3d 22 6c 69 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=
10bfe0 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 37 "line">ox80_oxBF.&lt;-.[\200-\27
10c000 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 46 7]</span>.<span.class="line">oxF
10c020 34 20 26 6c 74 3b 2d 20 27 5c 33 36 34 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 4.&lt;-.'\364'</span>.<span.clas
10c040 73 3d 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 38 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c s="line">ox80_ox8F.&lt;-.[\200-\
10c060 32 31 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 217]</span>.<span.class="line">o
10c080 78 46 31 5f 6f 78 46 33 20 26 6c 74 3b 2d 20 5b 5c 33 36 31 2d 5c 33 36 33 5d 3c 2f 73 70 61 6e xF1_oxF3.&lt;-.[\361-\363]</span
10c0a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 30 20 26 6c 74 3b 2d 20 >.<span.class="line">oxF0.&lt;-.
10c0c0 27 5c 33 36 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 '\360'</span>.<span.class="line"
10c0e0 3e 6f 78 39 30 5f 30 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 32 30 2d 5c 32 37 37 5d 3c 2f 73 70 >ox90_0xBF.&lt;-.[\220-\277]</sp
10c100 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 45 5f 6f 78 45 46 an>.<span.class="line">oxEE_oxEF
10c120 20 26 6c 74 3b 2d 20 5b 5c 33 35 36 2d 5c 33 35 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .&lt;-.[\356-\357]</span>.<span.
10c140 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 44 20 26 6c 74 3b 2d 20 27 5c 33 35 35 27 3c 2f class="line">oxED.&lt;-.'\355'</
10c160 73 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 38 30 5f 6f 78 span>.<span.class="line">ox80_ox
10c180 39 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 33 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 9F.&lt;-.[\200-\237]</span>.<spa
10c1a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 31 5f 6f 78 45 43 20 26 6c 74 3b 2d 20 5b n.class="line">oxE1_oxEC.&lt;-.[
10c1c0 5c 33 34 31 2d 5c 33 35 34 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c \341-\354]</span>.<span.class="l
10c1e0 69 6e 65 22 3e 6f 78 45 30 20 26 6c 74 3b 2d 20 27 5c 33 34 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 ine">oxE0.&lt;-.'\340'</span>.<s
10c200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 41 30 5f 6f 78 42 46 20 26 6c 74 3b 2d pan.class="line">oxA0_oxBF.&lt;-
10c220 20 5b 5c 32 34 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .[\240-\277]</span>.<span.class=
10c240 22 6c 69 6e 65 22 3e 6f 78 43 32 5f 6f 78 44 46 20 26 6c 74 3b 2d 20 5b 5c 33 30 32 2d 5c 33 33 "line">oxC2_oxDF.&lt;-.[\302-\33
10c260 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 3c 2f 73 7]</span>.<span.class="line"></s
10c280 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 72 6f 6d 20 68 pan>.<span.class="line">#.From.h
10c2a0 74 74 70 73 3a 2f 2f 6c 65 6d 69 72 65 2e 6d 65 2f 62 6c 6f 67 2f 32 30 31 38 2f 30 35 2f 30 39 ttps://lemire.me/blog/2018/05/09
10c2c0 2f 68 6f 77 2d 71 75 69 63 6b 6c 79 2d 63 61 6e 2d 79 6f 75 2d 63 68 65 63 6b 2d 74 68 61 74 2d /how-quickly-can-you-check-that-
10c2e0 61 2d 73 74 72 69 6e 67 2d 69 73 2d 76 61 6c 69 64 2d 75 6e 69 63 6f 64 65 2d 75 74 66 2d 38 2f a-string-is-valid-unicode-utf-8/
10c300 3c 2f 73 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 69 72 </span>.<span.class="line">#.Fir
10c320 73 74 20 42 79 74 65 20 20 20 20 20 20 53 65 63 6f 6e 64 20 42 79 74 65 20 20 20 20 20 54 68 69 st.Byte......Second.Byte.....Thi
10c340 72 64 20 42 79 74 65 20 20 20 20 20 20 46 6f 75 72 74 68 20 42 79 74 65 3c 2f 73 70 61 6e 3e 0a rd.Byte......Fourth.Byte</span>.
10c360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 30 30 2c 30 78 37 46 5d <span.class="line">#.[0x00,0x7F]
10c380 3c 2f 73 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 </span>.<span.class="line">#.[0x
10c3a0 43 32 2c 30 78 44 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a C2,0xDF].....[0x80,0xBF]</span>.
10c3c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 45 30 20 20 20 20 <span.class="line">#....0xE0....
10c3e0 20 20 20 20 20 5b 30 78 41 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d .....[0xA0,0xBF].....[0x80,0xBF]
10c400 3c 2f 73 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 </span>.<span.class="line">#.[0x
10c420 45 31 2c 30 78 45 43 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 E1,0xEC].....[0x80,0xBF].....[0x
10c440 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 80,0xBF]</span>.<span.class="lin
10c460 65 22 3e 23 20 20 20 20 30 78 45 44 20 20 20 20 20 20 20 20 20 5b 30 78 38 30 2c 30 78 39 46 5d e">#....0xED.........[0x80,0x9F]
10c480 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .....[0x80,0xBF]</span>.<span.cl
10c4a0 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 45 45 2c 30 78 45 46 5d 20 20 20 20 20 5b 30 78 ass="line">#.[0xEE,0xEF].....[0x
10c4c0 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 80,0xBF].....[0x80,0xBF]</span>.
10c4e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 46 30 20 20 20 20 <span.class="line">#....0xF0....
10c500 20 20 20 20 20 5b 30 78 39 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d .....[0x90,0xBF].....[0x80,0xBF]
10c520 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .....[0x80,0xBF]</span>.<span.cl
10c540 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 46 31 2c 30 78 46 33 5d 20 20 20 20 20 5b 30 78 ass="line">#.[0xF1,0xF3].....[0x
10c560 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 80,0xBF].....[0x80,0xBF].....[0x
10c580 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 80,0xBF]</span>.<span.class="lin
10c5a0 65 22 3e 23 20 20 20 20 30 78 46 34 20 20 20 20 20 20 20 20 20 5b 30 78 38 30 2c 30 78 38 46 5d e">#....0xF4.........[0x80,0x8F]
10c5c0 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d .....[0x80,0xBF].....[0x80,0xBF]
10c5e0 3c 2f 73 70 61 6e 3e 0a 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
10c600 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 62 5f 75 74 66 38 5f 6c 69 n>.<span.class="line">mb_utf8_li
10c620 74 65 72 61 6c 20 26 6c 74 3b 2d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 teral.&lt;-</span>.<span.class="
10c640 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 6f 78 46 34 20 20 20 20 20 20 6f 78 38 30 5f 6f 78 38 46 line">.......oxF4......ox80_ox8F
10c660 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
10c680 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 46 31 5f 6f 78 46 33 20 n.class="line">...../.oxF1_oxF3.
10c6a0 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 ox80_oxBF.ox80_oxBF.ox80_oxBF</s
10c6c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f pan>.<span.class="line">...../.o
10c6e0 78 46 30 20 20 20 20 20 20 6f 78 39 30 5f 30 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 xF0......ox90_0xBF.ox80_oxBF.ox8
10c700 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 0_oxBF</span>.<span.class="line"
10c720 3e 20 20 20 20 20 2f 20 6f 78 45 45 5f 6f 78 45 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 >...../.oxEE_oxEF.ox80_oxBF.ox80
10c740 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">
10c760 20 20 20 20 20 2f 20 6f 78 45 44 20 20 20 20 20 20 6f 78 38 30 5f 6f 78 39 46 20 6f 78 38 30 5f ...../.oxED......ox80_ox9F.ox80_
10c780 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 20 oxBF</span>.<span.class="line">.
10c7a0 20 20 20 20 2f 20 6f 78 45 31 5f 6f 78 45 43 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f ..../.oxE1_oxEC.ox80_oxBF.ox80_o
10c7c0 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 20 20 xBF</span>.<span.class="line">..
10c7e0 20 20 20 2f 20 6f 78 45 30 20 20 20 20 20 20 6f 78 41 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 .../.oxE0......oxA0_oxBF.ox80_ox
10c800 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">...
10c820 20 20 2f 20 6f 78 43 32 5f 6f 78 44 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c ../.oxC2_oxDF.ox80_oxBF</span>.<
10c840 73 70 61 6e 20 63 6c 61 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.
10c860 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 class="line">ascii_char_not_nl_s
10c880 6c 61 73 68 5f 73 71 75 6f 74 65 20 26 6c 74 3b 2d 20 5b 5c 30 30 30 2d 5c 30 31 31 5c 30 31 33 lash_squote.&lt;-.[\000-\011\013
10c8a0 2d 5c 30 34 36 2d 5c 30 35 30 2d 5c 31 33 33 5c 31 33 35 2d 5c 31 37 37 5d 3c 2f 73 70 61 6e 3e -\046-\050-\133\135-\177]</span>
10c8c0 0a 3c 73 70 61 6e 20 63 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
10c8e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e n.class="line">char_escape</span
10c900 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 >.<span.class="line">....&lt;-.&
10c920 71 75 6f 74 3b 5c 5c 78 26 71 75 6f 74 3b 20 68 65 78 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 quot;\\x&quot;.hex.hex</span>.<s
10c940 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 5c 5c pan.class="line">...../.&quot;\\
10c960 75 7b 26 71 75 6f 74 3b 20 68 65 78 2b 20 26 71 75 6f 74 3b 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 u{&quot;.hex+.&quot;}&quot;</spa
10c980 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 n>.<span.class="line">...../.&qu
10c9a0 6f 74 3b 5c 5c 26 71 75 6f 74 3b 20 5b 6e 72 5c 5c 74 27 26 71 75 6f 74 3b 5d 3c 2f 73 70 61 6e ot;\\&quot;.[nr\\t'&quot;]</span
10c9c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 68 61 72 5f 63 68 61 72 3c 2f >.<span.class="line">char_char</
10c9e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 span>.<span.class="line">....&lt
10ca00 3b 2d 20 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ;-.mb_utf8_literal</span>.<span.
10ca20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 63 68 61 72 5f 65 73 63 61 70 65 3c class="line">...../.char_escape<
10ca40 2f 73 70 61 6e 3e 0a 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">...../
10ca60 20 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 6c 61 73 68 5f 73 71 75 6f 74 65 3c .ascii_char_not_nl_slash_squote<
10ca80 2f 73 70 61 6e 3e 0a 3c 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
10caa0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 72 69 6e 67 5f 63 68 61 72 >.<span.class="line">string_char
10cac0 3c 2f 73 70 61 6e 3e 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">....&
10cae0 6c 74 3b 2d 20 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lt;-.char_escape</span>.<span.cl
10cb00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 5b 5e 5c 5c 26 71 75 6f 74 3b 5c 6e 5d 3c ass="line">...../.[^\\&quot;\n]<
10cb20 2f 73 70 61 6e 3e 0a 3c 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
10cb40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f 64 >.<span.class="line">container_d
10cb60 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 27 2f 2f 21 27 20 5b 5e 5c 6e 5d 2a 20 5b oc_comment.&lt;-.('//!'.[^\n]*.[
10cb80 20 5c 6e 5d 2a 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 6e 65 .\n]*)+</span>.<span.class="line
10cba0 22 3e 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 27 2f 2f 2f 27 20 5b 5e 5c 6e 5d ">doc_comment.&lt;-.('///'.[^\n]
10cbc0 2a 20 5b 20 5c 6e 5d 2a 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c *.[.\n]*)+</span>.<span.class="l
10cbe0 69 6e 65 22 3e 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 27 2f 2f 27 20 21 5b 21 ine">line_comment.&lt;-.'//'.![!
10cc00 2f 5d 5b 5e 5c 6e 5d 2a 20 2f 20 27 2f 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 3c 2f 73 70 61 6e 3e 0a /][^\n]*./.'////'.[^\n]*</span>.
10cc20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 69 6e 65 5f 73 74 72 69 6e 67 20 26 <span.class="line">line_string.&
10cc40 6c 74 3b 2d 20 28 26 71 75 6f 74 3b 5c 5c 5c 5c 26 71 75 6f 74 3b 20 5b 5e 5c 6e 5d 2a 20 5b 20 lt;-.(&quot;\\\\&quot;.[^\n]*.[.
10cc60 5c 6e 5d 2a 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 6e 65 22 \n]*)+</span>.<span.class="line"
10cc80 3e 73 6b 69 70 20 26 6c 74 3b 2d 20 28 5b 20 5c 6e 5d 20 2f 20 6c 69 6e 65 5f 63 6f 6d 6d 65 6e >skip.&lt;-.([.\n]./.line_commen
10cca0 74 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 t)*</span>.<span.class="line"></
10ccc0 73 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 48 41 52 5f 4c 49 span>.<span.class="line">CHAR_LI
10cce0 54 45 52 41 4c 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 20 63 68 61 72 5f 63 TERAL.&lt;-.&quot;'&quot;.char_c
10cd00 68 61 72 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 har.&quot;'&quot;.skip</span>.<s
10cd20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 4c 4f 41 54 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">FLOAT</span>.<s
10cd40 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 26 71 75 6f 74 pan.class="line">....&lt;-.&quot
10cd60 3b 30 78 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 26 71 75 6f 74 3b 2e 26 71 75 6f 74 3b 20 ;0x&quot;.hex_int.&quot;.&quot;.
10cd80 68 65 78 5f 69 6e 74 20 28 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b hex_int.([pP].[-+]?.dec_int)?.sk
10cda0 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ip</span>.<span.class="line">...
10cdc0 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 26 71 75 6f 74 3b 2e 26 71 75 6f 74 3b 20 64 ../......dec_int.&quot;.&quot;.d
10cde0 65 63 5f 69 6e 74 20 28 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 ec_int.([eE].[-+]?.dec_int)?.ski
10ce00 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">....
10ce20 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 5b 70 50 5d 20 5b ./.&quot;0x&quot;.hex_int.[pP].[
10ce40 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -+]?.dec_int.skip</span>.<span.c
10ce60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 lass="line">...../......dec_int.
10ce80 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c [eE].[-+]?.dec_int.skip</span>.<
10cea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 4e 54 45 47 45 52 3c 2f 73 70 61 6e 3e span.class="line">INTEGER</span>
10cec0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 71 .<span.class="line">....&lt;-.&q
10cee0 75 6f 74 3b 30 62 26 71 75 6f 74 3b 20 62 69 6e 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e uot;0b&quot;.bin_int.skip</span>
10cf00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 .<span.class="line">...../.&quot
10cf20 3b 30 6f 26 71 75 6f 74 3b 20 6f 63 74 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 ;0o&quot;.oct_int.skip</span>.<s
10cf40 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 30 78 pan.class="line">...../.&quot;0x
10cf60 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e &quot;.hex_int.skip</span>.<span
10cf80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e .class="line">...../......dec_in
10cfa0 74 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 t...skip</span>.<span.class="lin
10cfc0 65 22 3e 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 20 26 6c 74 3b 2d 20 26 71 75 e">STRINGLITERALSINGLE.&lt;-.&qu
10cfe0 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 26 71 ot;\&quot;&quot;.string_char*.&q
10d000 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;\&quot;&quot;.skip</span>.<s
10d020 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 3c 2f pan.class="line">STRINGLITERAL</
10d040 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 span>.<span.class="line">....&lt
10d060 3b 2d 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3c 2f 73 70 61 6e 3e 0a 3c 73 ;-.STRINGLITERALSINGLE</span>.<s
10d080 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 28 6c 69 6e 65 5f 73 74 pan.class="line">...../.(line_st
10d0a0 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 29 2b 3c 2f 73 70 61 ring.................skip)+</spa
10d0c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 44 45 4e 54 49 46 49 45 52 n>.<span.class="line">IDENTIFIER
10d0e0 3c 2f 73 70 61 6e 3e 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">....&
10d100 6c 74 3b 2d 20 21 6b 65 79 77 6f 72 64 20 5b 41 2d 5a 61 2d 7a 5f 5d 20 5b 41 2d 5a 61 2d 7a 30 lt;-.!keyword.[A-Za-z_].[A-Za-z0
10d120 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
10d140 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 40 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b ine">...../.&quot;@\&quot;&quot;
10d160 20 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 26 71 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 .string_char*.&quot;\&quot;&quot
10d180 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 20 20 20 20 73 6b 69 ;............................ski
10d1a0 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 42 55 49 4c p</span>.<span.class="line">BUIL
10d1c0 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 40 26 71 75 6f 74 TINIDENTIFIER.&lt;-.&quot;@&quot
10d1e0 3b 5b 41 2d 5a 61 2d 7a 5f 5d 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 5d 2a 20 73 6b 69 70 3c 2f 73 70 ;[A-Za-z_][A-Za-z0-9_]*.skip</sp
10d200 61 6e 3e 0a 3c 73 70 61 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>.<
10d220 73 70 61 6e 20 63 6c 61 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.
10d240 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 4d 50 45 52 53 41 4e 44 20 20 20 20 20 20 20 20 20 20 class="line">AMPERSAND..........
10d260 20 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 ..&lt;-.'&amp;'......![=]......s
10d280 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 4d kip</span>.<span.class="line">AM
10d2a0 50 45 52 53 41 4e 44 45 51 55 41 4c 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 3d PERSANDEQUAL.......&lt;-.'&amp;=
10d2c0 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 61 '...............skip</span>.<spa
10d2e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 n.class="line">ASTERISK.........
10d300 20 20 20 20 26 6c 74 3b 2d 20 27 2a 27 20 20 20 20 20 20 21 5b 2a 25 3d 5d 20 20 20 20 73 6b 69 ....&lt;-.'*'......![*%=]....ski
10d320 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 45 p</span>.<span.class="line">ASTE
10d340 52 49 53 4b 32 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 2a 27 20 20 20 20 20 RISK2............&lt;-.'**'.....
10d360 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 73 ..........skip</span>.<span.clas
10d380 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c s="line">ASTERISKEQUAL........&l
10d3a0 74 3b 2d 20 27 2a 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 t;-.'*='...............skip</spa
10d3c0 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 50 45 n>.<span.class="line">ASTERISKPE
10d3e0 52 43 45 4e 54 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 RCENT......&lt;-.'*%'.....![=]..
10d400 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
10d420 65 22 3e 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 20 26 6c 74 3b 2d 20 27 2a e">ASTERISKPERCENTEQUAL.&lt;-.'*
10d440 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 3c 73 70 %='..............skip</span>.<sp
10d460 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 41 52 45 54 20 20 20 20 20 20 20 20 20 20 20 an.class="line">CARET...........
10d480 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b .....&lt;-.'^'......![=]......sk
10d4a0 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 52 ip</span>.<span.class="line">CAR
10d4c0 45 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 3d 27 20 20 20 20 ETEQUAL...........&lt;-.'^='....
10d4e0 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
10d500 73 73 3d 22 6c 69 6e 65 22 3e 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">COLON................&
10d520 6c 74 3b 2d 20 27 3a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 lt;-.':'................skip</sp
10d540 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 4d 4d 41 20 20 20 20 an>.<span.class="line">COMMA....
10d560 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2c 27 20 20 20 20 20 20 20 20 20 20 20 ............&lt;-.','...........
10d580 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
10d5a0 6e 65 22 3e 44 4f 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">DOT..................&lt;-.'
10d5c0 2e 27 20 20 20 20 20 20 21 5b 2a 2e 3f 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 .'......![*.?]....skip</span>.<s
10d5e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 32 20 20 20 20 20 20 20 20 20 20 20 pan.class="line">DOT2...........
10d600 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 27 20 20 20 20 20 21 5b 2e 5d 20 20 20 20 20 20 73 ......&lt;-.'..'.....![.]......s
10d620 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 4f kip</span>.<span.class="line">DO
10d640 54 33 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 2e 27 20 20 T3.................&lt;-.'...'..
10d660 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
10d680 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 ass="line">DOTASTERISK..........
10d6a0 26 6c 74 3b 2d 20 27 2e 2a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'.*'...............skip</s
10d6c0 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 51 55 45 53 54 pan>.<span.class="line">DOTQUEST
10d6e0 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 3f 27 20 20 20 20 20 20 20 20 20 IONMARK......&lt;-.'.?'.........
10d700 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
10d720 69 6e 65 22 3e 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">EQUAL................&lt;-.
10d740 27 3d 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e '='......![&gt;=].....skip</span
10d760 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 55 41 4c 45 51 55 41 4c 20 >.<span.class="line">EQUALEQUAL.
10d780 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 ..........&lt;-.'=='............
10d7a0 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...skip</span>.<span.class="line
10d7c0 22 3e 45 51 55 41 4c 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 26 ">EQUALRARROW..........&lt;-.'=&
10d7e0 67 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 gt;'...............skip</span>.<
10d800 73 70 61 6e 20 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 span.class="line">EXCLAMATIONMAR
10d820 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 21 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 K......&lt;-.'!'......![=]......
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 45 skip</span>.<span.class="line">E
10d860 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 20 26 6c 74 3b 2d 20 27 21 3d 27 20 20 XCLAMATIONMARKEQUAL.&lt;-.'!='..
10d880 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
10d8a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">LARROW..............
10d8c0 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 27 20 20 20 20 20 20 21 5b 26 6c 74 3b 3d 5d 20 20 20 20 20 .&lt;-.'&lt;'......![&lt;=].....
10d8e0 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 4c skip</span>.<span.class="line">L
10d900 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 6c 74 3b 26 ARROW2..............&lt;-.'&lt;&
10d920 6c 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 3c lt;'.....![=]......skip</span>.<
10d940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 32 45 51 55 41 4c 20 20 span.class="line">LARROW2EQUAL..
10d960 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 .......&lt;-.'&lt;&lt;='........
10d980 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
10d9a0 69 6e 65 22 3e 4c 41 52 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">LARROWEQUAL..........&lt;-.
10d9c0 27 26 6c 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 6e '&lt;='...............skip</span
10d9e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 42 52 41 43 45 20 20 20 20 20 >.<span.class="line">LBRACE.....
10da00 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........&lt;-.'{'.............
10da20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...skip</span>.<span.class="line
10da40 22 3e 4c 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 5b 27 ">LBRACKET.............&lt;-.'['
10da60 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 61 ................skip</span>.<spa
10da80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 n.class="line">LPAREN...........
10daa0 20 20 20 20 26 6c 74 3b 2d 20 27 28 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 ....&lt;-.'('................ski
10dac0 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 p</span>.<span.class="line">MINU
10dae0 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 27 20 20 20 20 20 20 S................&lt;-.'-'......
10db00 21 5b 25 3d 26 67 74 3b 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ![%=&gt;]....skip</span>.<span.c
10db20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 lass="line">MINUSEQUAL..........
10db40 20 26 6c 74 3b 2d 20 27 2d 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</
10db60 73 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 50 45 span>.<span.class="line">MINUSPE
10db80 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 27 20 20 20 20 20 21 5b 3d RCENT.........&lt;-.'-%'.....![=
10dba0 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="
10dbc0 6c 69 6e 65 22 3e 4d 49 4e 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d line">MINUSPERCENTEQUAL....&lt;-
10dbe0 20 27 2d 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>.
10dc00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 52 41 52 52 4f 57 20 20 <span.class="line">MINUSRARROW..
10dc20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 26 67 74 3b 27 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'-&gt;'...........
10dc40 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
10dc60 65 22 3e 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 e">PERCENT..............&lt;-.'%
10dc80 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 61 6e 3e 0a 3c 73 70 '......![=]......skip</span>.<sp
10dca0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 an.class="line">PERCENTEQUAL....
10dcc0 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .....&lt;-.'%='...............sk
10dce0 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 49 50 ip</span>.<span.class="line">PIP
10dd00 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 27 20 20 20 20 20 E.................&lt;-.'|'.....
10dd20 20 21 5b 7c 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .![|=].....skip</span>.<span.cla
10dd40 73 73 3d 22 6c 69 6e 65 22 3e 50 49 50 45 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">PIPE2................&
10dd60 6c 74 3b 2d 20 27 7c 7c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 lt;-.'||'...............skip</sp
10dd80 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 45 51 55 41 4c an>.<span.class="line">PIPEEQUAL
10dda0 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 3d 27 20 20 20 20 20 20 20 20 20 20 ............&lt;-.'|='..........
10ddc0 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
10dde0 6e 65 22 3e 50 4c 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">PLUS.................&lt;-.'
10de00 2b 27 20 20 20 20 20 20 21 5b 25 2b 3d 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 +'......![%+=]....skip</span>.<s
10de20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 32 20 20 20 20 20 20 20 20 20 20 pan.class="line">PLUS2..........
10de40 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 2b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 ......&lt;-.'++'...............s
10de60 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 4c kip</span>.<span.class="line">PL
10de80 55 53 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 3d 27 20 20 20 USEQUAL............&lt;-.'+='...
10dea0 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
10dec0 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 ass="line">PLUSPERCENT..........
10dee0 26 6c 74 3b 2d 20 27 2b 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'+%'.....![=]......skip</s
10df00 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 43 pan>.<span.class="line">PLUSPERC
10df20 45 4e 54 45 51 55 41 4c 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 25 3d 27 20 20 20 20 20 20 20 20 ENTEQUAL.....&lt;-.'+%='........
10df40 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
10df60 69 6e 65 22 3e 4c 45 54 54 45 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">LETTERC..............&lt;-.
10df80 27 63 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 'c'................skip</span>.<
10dfa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 span.class="line">QUESTIONMARK..
10dfc0 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......&lt;-.'?'................
10dfe0 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 52 skip</span>.<span.class="line">R
10e000 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 27 ARROW...............&lt;-.'&gt;'
10e020 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c ......![&gt;=].....skip</span>.<
10e040 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 32 20 20 20 20 20 20 20 span.class="line">RARROW2.......
10e060 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 26 67 74 3b 27 20 20 20 20 20 21 5b 3d 5d .......&lt;-.'&gt;&gt;'.....![=]
10e080 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
10e0a0 69 6e 65 22 3e 52 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">RARROW2EQUAL.........&lt;-.
10e0c0 27 26 67 74 3b 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 '&gt;&gt;='..............skip</s
10e0e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 45 51 pan>.<span.class="line">RARROWEQ
10e100 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 3d 27 20 20 20 20 20 20 UAL..........&lt;-.'&gt;='......
10e120 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .........skip</span>.<span.class
10e140 3d 22 6c 69 6e 65 22 3e 52 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 ="line">RBRACE...............&lt
10e160 3b 2d 20 27 7d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e ;-.'}'................skip</span
10e180 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 42 52 41 43 4b 45 54 20 20 20 >.<span.class="line">RBRACKET...
10e1a0 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........&lt;-.']'.............
10e1c0 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...skip</span>.<span.class="line
10e1e0 22 3e 52 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 29 27 ">RPAREN...............&lt;-.')'
10e200 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 61 ................skip</span>.<spa
10e220 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 45 4d 49 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 n.class="line">SEMICOLON........
10e240 20 20 20 20 26 6c 74 3b 2d 20 27 3b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 ....&lt;-.';'................ski
10e260 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 4c 41 53 p</span>.<span.class="line">SLAS
10e280 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 27 20 20 20 20 20 20 H................&lt;-.'/'......
10e2a0 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 61 73 ![=]......skip</span>.<span.clas
10e2c0 73 3d 22 6c 69 6e 65 22 3e 53 4c 41 53 48 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c s="line">SLASHEQUAL...........&l
10e2e0 74 3b 2d 20 27 2f 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 t;-.'/='...............skip</spa
10e300 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 49 4c 44 45 20 20 20 20 20 n>.<span.class="line">TILDE.....
10e320 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7e 27 20 20 20 20 20 20 20 20 20 20 20 20 ...........&lt;-.'~'............
10e340 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
10e360 65 22 3e 3c 2f 73 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 6e e"></span>.<span.class="line">en
10e380 64 5f 6f 66 5f 77 6f 72 64 20 26 6c 74 3b 2d 20 21 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5d 20 73 6b d_of_word.&lt;-.![a-zA-Z0-9_].sk
10e3a0 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 4b 45 59 ip</span>.<span.class="line">KEY
10e3c0 57 4f 52 44 5f 61 6c 69 67 6e 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6c 69 67 6e 27 20 20 WORD_align.......&lt;-.'align'..
10e3e0 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
10e400 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 20 20 26 ass="line">KEYWORD_allowzero...&
10e420 6c 74 3b 2d 20 27 61 6c 6c 6f 77 7a 65 72 6f 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f lt;-.'allowzero'...end_of_word</
10e440 73 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
10e460 5f 61 6e 64 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 64 27 20 20 20 20 20 20 20 20 _and.........&lt;-.'and'........
10e480 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=
10e4a0 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 20 20 20 26 6c 74 3b 2d "line">KEYWORD_anyframe....&lt;-
10e4c0 20 27 61 6e 79 66 72 61 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e .'anyframe'....end_of_word</span
10e4e0 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
10e500 74 79 70 65 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 79 74 79 70 65 27 20 20 20 20 20 65 6e 64 type.....&lt;-.'anytype'.....end
10e520 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
10e540 65 22 3e 4b 45 59 57 4f 52 44 5f 61 73 6d 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 e">KEYWORD_asm.........&lt;-.'as
10e560 6d 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 m'.........end_of_word</span>.<s
10e580 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 79 6e 63 20 20 pan.class="line">KEYWORD_async..
10e5a0 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 79 6e 63 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'async'.......end_of_
10e5c0 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
10e5e0 45 59 57 4f 52 44 5f 61 77 61 69 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 77 61 69 74 27 EYWORD_await.......&lt;-.'await'
10e600 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.
10e620 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 20 20 20 20 20 class="line">KEYWORD_break......
10e640 20 26 6c 74 3b 2d 20 27 62 72 65 61 6b 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'break'.......end_of_word
10e660 3c 2f 73 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
10e680 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 20 20 20 26 6c 74 3b 2d 20 27 63 61 6c 6c 63 6f 6e 76 27 20 RD_callconv....&lt;-.'callconv'.
10e6a0 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
10e6c0 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 20 20 20 20 20 20 26 6c 74 s="line">KEYWORD_catch.......&lt
10e6e0 3b 2d 20 27 63 61 74 63 68 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 ;-.'catch'.......end_of_word</sp
10e700 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
10e720 6f 6d 70 74 69 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6d 70 74 69 6d 65 27 20 20 20 20 65 omptime....&lt;-.'comptime'....e
10e740 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
10e760 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ine">KEYWORD_const.......&lt;-.'
10e780 63 6f 6e 73 74 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 const'.......end_of_word</span>.
10e7a0 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 74 69 <span.class="line">KEYWORD_conti
10e7c0 6e 75 65 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 74 69 6e 75 65 27 20 20 20 20 65 6e 64 5f 6f nue....&lt;-.'continue'....end_o
10e7e0 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"
10e800 3e 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 64 65 66 65 >KEYWORD_defer.......&lt;-.'defe
10e820 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 3e 0a 3c 73 70 61 r'.......end_of_word</span>.<spa
10e840 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 20 20 20 20 n.class="line">KEYWORD_else.....
10e860 20 20 20 26 6c 74 3b 2d 20 27 65 6c 73 65 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f ...&lt;-.'else'........end_of_wo
10e880 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
10e8a0 57 4f 52 44 5f 65 6e 75 6d 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 6e 75 6d 27 20 20 20 WORD_enum........&lt;-.'enum'...
10e8c0 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
10e8e0 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 20 20 20 26 ass="line">KEYWORD_errdefer....&
10e900 6c 74 3b 2d 20 27 65 72 72 64 65 66 65 72 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f lt;-.'errdefer'....end_of_word</
10e920 73 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
10e940 5f 65 72 72 6f 72 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 72 72 6f 72 27 20 20 20 20 20 20 _error.......&lt;-.'error'......
10e960 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=
10e980 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 20 20 20 20 20 26 6c 74 3b 2d "line">KEYWORD_export......&lt;-
10e9a0 20 27 65 78 70 6f 72 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 .'export'......end_of_word</span
10e9c0 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 74 >.<span.class="line">KEYWORD_ext
10e9e0 65 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 78 74 65 72 6e 27 20 20 20 20 20 20 65 6e 64 ern......&lt;-.'extern'......end
10ea00 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
10ea20 65 22 3e 4b 45 59 57 4f 52 44 5f 66 6e 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6e e">KEYWORD_fn..........&lt;-.'fn
10ea40 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 '..........end_of_word</span>.<s
10ea60 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 6f 72 20 20 20 20 pan.class="line">KEYWORD_for....
10ea80 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6f 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'for'.........end_of_
10eaa0 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
10eac0 45 59 57 4f 52 44 5f 69 66 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 69 66 27 20 20 20 EYWORD_if..........&lt;-.'if'...
10eae0 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.
10eb00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 20 20 20 20 class="line">KEYWORD_inline.....
10eb20 20 26 6c 74 3b 2d 20 27 69 6e 6c 69 6e 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'inline'......end_of_word
10eb40 3c 2f 73 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
10eb60 52 44 5f 6e 6f 61 6c 69 61 73 20 20 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 61 6c 69 61 73 27 20 20 RD_noalias.....&lt;-.'noalias'..
10eb80 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
10eba0 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 20 20 26 6c 74 s="line">KEYWORD_nosuspend...&lt
10ebc0 3b 2d 20 27 6e 6f 73 75 73 70 65 6e 64 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 ;-.'nosuspend'...end_of_word</sp
10ebe0 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
10ec00 6f 69 6e 6c 69 6e 65 20 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 69 6e 6c 69 6e 65 27 20 20 20 20 65 oinline....&lt;-.'noinline'....e
10ec20 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
10ec40 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ine">KEYWORD_opaque......&lt;-.'
10ec60 6f 70 61 71 75 65 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 opaque'......end_of_word</span>.
10ec80 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 72 20 20 20 <span.class="line">KEYWORD_or...
10eca0 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 72 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f .......&lt;-.'or'..........end_o
10ecc0 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"
10ece0 3e 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 72 65 6c >KEYWORD_orelse......&lt;-.'orel
10ed00 73 65 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 se'......end_of_word</span>.<spa
10ed20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 20 20 20 n.class="line">KEYWORD_packed...
10ed40 20 20 20 26 6c 74 3b 2d 20 27 70 61 63 6b 65 64 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f ...&lt;-.'packed'......end_of_wo
10ed60 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
10ed80 57 4f 52 44 5f 70 75 62 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 70 75 62 27 20 20 20 20 WORD_pub.........&lt;-.'pub'....
10eda0 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
10edc0 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 20 20 20 20 20 26 ass="line">KEYWORD_resume......&
10ede0 6c 74 3b 2d 20 27 72 65 73 75 6d 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f lt;-.'resume'......end_of_word</
10ee00 73 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
10ee20 5f 72 65 74 75 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 72 65 74 75 72 6e 27 20 20 20 20 20 _return......&lt;-.'return'.....
10ee40 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=
10ee60 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 20 26 6c 74 3b 2d "line">KEYWORD_linksection.&lt;-
10ee80 20 27 6c 69 6e 6b 73 65 63 74 69 6f 6e 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e .'linksection'.end_of_word</span
10eea0 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 73 74 72 >.<span.class="line">KEYWORD_str
10eec0 75 63 74 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 74 72 75 63 74 27 20 20 20 20 20 20 65 6e 64 uct......&lt;-.'struct'......end
10eee0 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
10ef00 65 22 3e 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 75 e">KEYWORD_suspend.....&lt;-.'su
10ef20 73 70 65 6e 64 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 spend'.....end_of_word</span>.<s
10ef40 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 77 69 74 63 68 20 pan.class="line">KEYWORD_switch.
10ef60 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 77 69 74 63 68 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'switch'......end_of_
10ef80 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
10efa0 45 59 57 4f 52 44 5f 74 65 73 74 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 74 65 73 74 27 20 EYWORD_test........&lt;-.'test'.
10efc0 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.
10efe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c class="line">KEYWORD_threadlocal
10f000 20 26 6c 74 3b 2d 20 27 74 68 72 65 61 64 6c 6f 63 61 6c 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'threadlocal'.end_of_word
10f020 3c 2f 73 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
10f040 52 44 5f 74 72 79 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 74 72 79 27 20 20 20 20 20 20 RD_try.........&lt;-.'try'......
10f060 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
10f080 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 20 20 20 20 20 20 26 6c 74 s="line">KEYWORD_union.......&lt
10f0a0 3b 2d 20 27 75 6e 69 6f 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 ;-.'union'.......end_of_word</sp
10f0c0 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
10f0e0 6e 72 65 61 63 68 61 62 6c 65 20 26 6c 74 3b 2d 20 27 75 6e 72 65 61 63 68 61 62 6c 65 27 20 65 nreachable.&lt;-.'unreachable'.e
10f100 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
10f120 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 26 6c 74 3b ine">KEYWORD_usingnamespace.&lt;
10f140 2d 20 27 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f -.'usingnamespace'.end_of_word</
10f160 73 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
10f180 5f 76 61 72 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 76 61 72 27 20 20 20 20 20 20 20 20 _var.........&lt;-.'var'........
10f1a0 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=
10f1c0 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 20 20 20 26 6c 74 3b 2d "line">KEYWORD_volatile....&lt;-
10f1e0 20 27 76 6f 6c 61 74 69 6c 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e .'volatile'....end_of_word</span
10f200 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 77 68 69 >.<span.class="line">KEYWORD_whi
10f220 6c 65 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 77 68 69 6c 65 27 20 20 20 20 20 20 20 65 6e 64 le.......&lt;-.'while'.......end
10f240 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
10f260 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6b 65 e"></span>.<span.class="line">ke
10f280 79 77 6f 72 64 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 2f 20 4b 45 59 57 yword.&lt;-.KEYWORD_align./.KEYW
10f2a0 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 64 20 2f 20 4b 45 ORD_allowzero./.KEYWORD_and./.KE
10f2c0 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 YWORD_anyframe</span>.<span.clas
10f2e0 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 61 6e 79 74 s="line">........./.KEYWORD_anyt
10f300 79 70 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e ype./.KEYWORD_asm./.KEYWORD_asyn
10f320 63 20 2f 20 4b 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 c./.KEYWORD_await</span>.<span.c
10f340 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 lass="line">........./.KEYWORD_b
10f360 72 65 61 6b 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 2f 20 4b 45 59 57 4f 52 reak./.KEYWORD_callconv./.KEYWOR
10f380 44 5f 63 61 74 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e D_catch./.KEYWORD_comptime</span
10f3a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 >.<span.class="line">........./.
10f3c0 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 KEYWORD_const./.KEYWORD_continue
10f3e0 20 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 3c ./.KEYWORD_defer./.KEYWORD_else<
10f400 2f 73 70 61 6e 3e 0a 3c 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">......
10f420 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 .../.KEYWORD_enum./.KEYWORD_errd
10f440 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 efer./.KEYWORD_error./.KEYWORD_e
10f460 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e xport</span>.<span.class="line">
10f480 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 ........./.KEYWORD_extern./.KEYW
10f4a0 4f 52 44 5f 66 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 69 ORD_fn./.KEYWORD_for./.KEYWORD_i
10f4c0 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 3e 20 20 20 20 f</span>.<span.class="line">....
10f4e0 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f ...../.KEYWORD_inline./.KEYWORD_
10f500 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 2f 20 4b 45 noalias./.KEYWORD_nosuspend./.KE
10f520 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 YWORD_noinline</span>.<span.clas
10f540 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 6f 70 61 71 s="line">........./.KEYWORD_opaq
10f560 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 ue./.KEYWORD_or./.KEYWORD_orelse
10f580 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ./.KEYWORD_packed</span>.<span.c
10f5a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 70 lass="line">........./.KEYWORD_p
10f5c0 75 62 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 ub./.KEYWORD_resume./.KEYWORD_re
10f5e0 74 75 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e turn./.KEYWORD_linksection</span
10f600 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 >.<span.class="line">........./.
10f620 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 KEYWORD_struct./.KEYWORD_suspend
10f640 20 2f 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 ./.KEYWORD_switch./.KEYWORD_test
10f660 3c 2f 73 70 61 6e 3e 0a 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">.....
10f680 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 2f 20 4b 45 59 57 ..../.KEYWORD_threadlocal./.KEYW
10f6a0 4f 52 44 5f 74 72 79 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 2f 20 4b 45 59 57 4f 52 ORD_try./.KEYWORD_union./.KEYWOR
10f6c0 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 D_unreachable</span>.<span.class
10f6e0 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 75 73 69 6e 67 ="line">........./.KEYWORD_using
10f700 6e 61 6d 65 73 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 20 2f 20 4b 45 59 57 4f 52 namespace./.KEYWORD_var./.KEYWOR
10f720 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 3c 2f 73 70 61 6e D_volatile./.KEYWORD_while</span
10f740 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 20 ></code></pre></figure>.........
10f760 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 65 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 .....<h2.id="Zen"><a.href="nav.x
10f780 68 74 6d 6c 23 74 6f 63 2d 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 html#toc-Zen">Zen</a>.<a.class="
10f7a0 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 3e 0a 0a 20 20 hdr".href="#Zen">..</a></h2>....
10f7c0 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 69 63 61 74 65 ....<ul>.........<li>Communicate
10f7e0 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 20 20 20 20 20 .intent.precisely.</li>.........
10f800 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 0a 20 20 20 20 <li>Edge.cases.matter.</li>.....
10f820 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 6f 76 65 72 20 ....<li>Favor.reading.code.over.
10f840 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 3c 6c 69 3e 4f writing.code.</li>.........<li>O
10f860 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 68 69 6e 67 73 nly.one.obvious.way.to.do.things
10f880 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 63 72 61 73 68 .</li>.........<li>Runtime.crash
10f8a0 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 69 3e 0a 20 20 es.are.better.than.bugs.</li>...
10f8c0 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 65 20 62 65 74 ......<li>Compile.errors.are.bet
10f8e0 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 6c 69 3e 0a 20 ter.than.runtime.crashes.</li>..
10f900 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 6f 76 65 6d 65 .......<li>Incremental.improveme
10f920 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 20 6c 6f 63 61 nts.</li>.........<li>Avoid.loca
10f940 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 69 3e 52 65 64 l.maximums.</li>.........<li>Red
10f960 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 65 6d 62 65 72 uce.the.amount.one.must.remember
10f980 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 20 63 6f 64 65 .</li>.........<li>Focus.on.code
10f9a0 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 20 20 20 20 20 .rather.than.style.</li>........
10f9c0 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 79 20 66 61 69 .<li>Resource.allocation.may.fai
10f9e0 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 73 74 20 73 75 l;.resource.deallocation.must.su
10fa00 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 6f 72 79 20 69 cceed.</li>.........<li>Memory.i
10fa20 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 3c 6c 69 3e 54 s.a.resource.</li>.........<li>T
10fa40 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 3c 2f 6c 69 3e ogether.we.serve.the.users.</li>
10fa60 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 2f 6d 61 69 6e .......</ul>..............</main
10fa80 3e 3c 2f 64 69 76 3e 0a 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 ></div>.....</div>...</body>.</h
10faa0 74 6d 6c 3e 0a 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 61 ab 2c 14 00 00 00 14 00 00 tml>.PK............!Roa.,.......
10fac0 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6d 69 6d 65 74 79 70 65 50 4b 01 02 14 ...................mimetypePK...
10fae0 00 14 00 00 00 00 00 00 00 21 52 6f 92 d0 0a fc 00 00 00 fc 00 00 00 16 00 00 00 00 00 00 00 00 .........!Ro....................
10fb00 00 00 00 00 00 3a 00 00 00 4d 45 54 41 2d 49 4e 46 2f 63 6f 6e 74 61 69 6e 65 72 2e 78 6d 6c 50 .....:...META-INF/container.xmlP
10fb20 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 26 71 10 7c c2 02 00 00 c2 02 00 00 11 00 00 00 00 K............!R&q.|.............
10fb40 00 00 00 00 00 00 00 00 00 6a 01 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 50 4b .........j...OEBPS/content.opfPK
10fb60 01 02 14 00 14 00 00 00 00 00 00 00 21 52 e1 ac e8 aa 76 6f 00 00 76 6f 00 00 0f 00 00 00 00 00 ............!R....vo..vo........
10fb80 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 50 4b 01 02 14 ........[...OEBPS/nav.xhtmlPK...
10fba0 00 14 00 00 00 00 00 00 00 21 52 52 dd 60 2b 78 86 10 00 78 86 10 00 11 00 00 00 00 00 00 00 00 .........!RR.`+x...x............
10fbc0 00 00 00 00 00 fe 73 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 50 4b 05 06 00 00 ......s..OEBPS/index.xhtmlPK....
10fbe0 00 00 05 00 05 00 35 01 00 00 a5 fa 10 00 00 00 ......5.........